/*!
 * Powered by uimix.com;
 * Vivo product project - 产品库页面开发框架;
 * Version: 3.1.9;
 * Released on: 2021-06-18;
 */
!
function(e) {
    function t(r) {
        if (n[r]) return n[r].exports;
        var o = n[r] = {
            exports: {},
            id: r,
            loaded: !1
        };
        return e[r].call(o.exports, o, o.exports, t),
        o.loaded = !0,
        o.exports
    }
    var n = {};
    t.m = e,
    t.c = n,
    t.p = "",
    t(0)
} ([function(e, t, n) {
    "use strict";
    function r(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    var o = n(1),
    i = r(o);
    n(2);
    var a = n(3),
    s = r(a),
    u = n(120),
    c = r(u),
    l = n(121),
    f = r(l),
    d = n(122),
    p = r(d),
    h = n(128),
    g = r(h),
    m = n(129),
    v = (r(m), n(130)),
    y = r(v),
    b = n(131),
    w = (r(b), n(132)),
    x = r(w),
    T = n(133),
    C = r(T),
    S = n(134),
    A = r(S),
    E = n(135),
    k = r(E),
    j = n(136),
    O = r(j),
    M = n(137),
    N = r(M),
    _ = n(139),
    P = r(_),
    I = n(140),
    D = r(I),
    L = n(141),
    q = r(L),
    H = n(142),
    R = r(H),
    F = n(143),
    z = r(F),
    B = n(144),
    W = r(B),
    U = n(145),
    G = r(U),
    V = n(147),
    X = r(V); (0, i.
default)(function() {
        var e = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".dream-position-bottom").offset().top
        },
        t = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".denoise-positions").offset().top
        },
        n = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".game-position-bottom").offset().top
        };
        window.onbeforeunload = function() { (e($(".dream-position")) || t($(".denoise-position")) || n($(".game-position"))) && (document.documentElement.scrollTop = 0, document.body.scrollTop = 0)
        },
        (Modernizr.ios && Modernizr.mobile && Modernizr.safari && e($(".dream-position")) || Modernizr.ios && Modernizr.mobile && Modernizr.safari && t($(".denoise-position")) || Modernizr.ios && Modernizr.mobile && Modernizr.safari && n($(".game-position"))) && window.addEventListener("pagehide",
        function() {
            document.documentElement.scrollTop = 0,
            document.body.scrollTop = 0
        },
        !1),
        function() {
            var e = (0, p.
        default)();
            e.add(["#vivo-foot-path", "#vivo-foot-wrap"]),
            function() {
                hashAlone.get() ? e.go(hashAlone.get(),
                function() {
                    $("#vivo-product-wrap").removeClass("unvisible")
                }) : $("#vivo-product-wrap").removeClass("unvisible")
            } ()
        } (),
        (0, f.
    default)(),
        c.
    default.init(),
        (0, x.
    default)(),
        (0, k.
    default)(),
        (0, O.
    default)(),
        (0, N.
    default)(),
        (0, P.
    default)(),
        (0, C.
    default)(),
        (0, X.
    default)(),
        (0, A.
    default)(),
        (0, D.
    default)(),
        (0, q.
    default)(),
        (0, R.
    default)(),
        (0, z.
    default)(),
        (0, W.
    default)(),
        (0, G.
    default)(),
        gsap.registerPlugin(y.
    default),
        window.history && window.history.pushState && $(window).on("popstate",
        function() {
            location.reload()
        });
        var r = document.querySelectorAll(".sticky-box");
        Stickyfill.add(r);
        new g.
    default({
            isrunbreakpoint:
            !0
        }),
        new s.
    default({
            type:
            1
        }),
        new s.
    default({
            selector:
            "data-animate-tween",
            type: 1
        }),
        new s.
    default({
            selector:
            "data-animate",
            type: 2
        })
    })
},
function(e, t, n) { !
    function(t, n) {
        e.exports = n()
    } (0,
    function() {
        var e, t = [],
        n = document,
        r = n.documentElement.doScroll,
        o = (r ? /^loaded|^c/: /^loaded|^i|^c/).test(n.readyState);
        return o || n.addEventListener("DOMContentLoaded", e = function() {
            for (n.removeEventListener("DOMContentLoaded", e), o = 1; e = t.shift();) e()
        }),
        function(e) {
            o ? setTimeout(e, 0) : t.push(e)
        }
    })
},
function(e, t) {
    "use strict"; !
    function(e, t) {
        var n = function() {
            var t = function() {
                return !! e.location.hash && e.location.hash.substr(1)
            },
            n = function(t) {
                e.location.hash = t
            };
            return {
                get: function() {
                    return t()
                },
                hasHash: function(e) {
                    return e === t()
                },
                add: function(e) {
                    n(e)
                },
                clear: function() {
                    history.replaceState(null, "", location.pathname + location.search)
                }
            }
        } ();
        e.hashAlone = n
    } (window)
},
function(e, t, n) {
    function r(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    var o, i;
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var a = n(4),
    s = (r(a), n(71)),
    u = r(s),
    c = n(72),
    l = r(c),
    f = n(76),
    d = r(f),
    p = n(77),
    h = r(p),
    g = n(115),
    m = r(g),
    v = n(116),
    y = r(v),
    b = n(119),
    w = r(b),
    x = function() {
        function n() {
            return (window.navigator.userAgent.match(/MSIE |Trident\/(\d)+\./) || [999, 999])[1]
        }
        var r = document,
        a = window,
        s = {
            selector: "data-animate",
            classname: "start",
            type: 2
        },
        c = function() {
            return n() <= 9
        } (),
        f = function() {
            function e() {
                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; (0, u.
            default)(this, e),
                this.Elements = [],
                this.config = (0, m.
            default)({},
                s, t),
                this._elements = r.querySelectorAll("[" + this.config.selector + "]"),
                this._stop = !1,
                this._elements.length && this._getElements()
            }
            return (0, l.
        default)(e, [{
                key: "stop",
                value: function() {
                    this._stop = !0
                }
            },
            {
                key: "continue",
                value: function() {
                    this._stop = !1
                }
            },
            {
                key: "run",
                value: function() {
                    this._scroll()
                }
            },
            {
                key: "_scroll",
                value: function(e) {
                    var t = this;
                    this._stop || ((0, h.
                default)(this.Elements,
                    function(e) {
                        if (e.ele.eventStatus = e.ele.eventStatus || {
                            instage: !1,
                            outstage: !1
                        },
                        d.
                    default.visible(e.ele)) {
                            e.ele.data = {};
                            var n = e.ele.getBoundingClientRect();
                            if (e.ele.resetPos === n.top) return;
                            if (e.ele.resetPos = n.top, n.top <= a.innerHeight + parseFloat(e.data.offset) && n.bottom >= -parseFloat(e.data.offset)) {
                                e.ele.eventStatus.instage || (d.
                            default.addClass(e.ele, t.config.classname), e.ele.data = {
                                    type: "in",
                                    args: "salex"
                                },
                                d.
                            default.triggerEvent(e.ele, "instage"), e.ele.eventStatus.instage = !0);
                                var r = 1 - (n.bottom + parseFloat(e.data.offset)) / (n.height + a.innerHeight + parseFloat(2 * e.data.offset)); (0, m.
                            default)(e.ele.data, {
                                    rate: r
                                }),
                                d.
                            default.triggerEvent(e.ele, "progress"),
                                e.ele.eventStatus.outstage = !1
                            } else 2 !== t.config.type && 2 !== parseFloat(e.data.type) || (e.ele.eventStatus.outstage || (d.
                        default.removeClass(e.ele, t.config.classname), e.ele.data = {
                                type: "out",
                                args: "salex"
                            },
                            d.
                        default.triggerEvent(e.ele, "outstage"), e.ele.eventStatus.outstage = !0), e.ele.eventStatus.instage = !1);
                            n.top > a.innerHeight + parseFloat(e.data.offset) && n.top < a.innerHeight + parseFloat(e.data.offset) + 500 && ((0, m.
                        default)(e.ele.data, {
                                rate: 0
                            }), d.
                        default.triggerEvent(e.ele, "progress")),
                            n.bottom < -parseFloat(e.data.offset) && n.bottom > -parseFloat(e.data.offset) - 500 && ((0, m.
                        default)(e.ele.data, {
                                rate: 1
                            }), d.
                        default.triggerEvent(e.ele, "progress"))
                        } else 2 !== t.config.type && 2 !== parseFloat(e.data.type) || (e.ele.eventStatus.outstage || (d.
                    default.removeClass(e.ele, t.config.classname), e.ele.data = {
                            type: "out",
                            args: "salex"
                        },
                        d.
                    default.triggerEvent(e.ele, "outstage"), e.ele.eventStatus.outstage = !0), e.ele.eventStatus.instage = !1)
                    }), (0, y.
                default)((0, w.
                default)(this._scroll.bind(this), 10)))
                }
            },
            {
                key: "_addEventsListenners",
                value: function() {
                    this._scroll()
                }
            },
            {
                key: "_getEleData",
                value: function(e, t) {
                    return t ? new Function("return " + d.
                default.getAttribute(e, this.config.selector))() : {}
                }
            },
            {
                key: "_getElements",
                value: function() {
                    var e = {
                        offset: 0
                    },
                    t = this,
                    r = n() > 20; (0, h.
                default)(this._elements,
                    function(n) {
                        t.Elements.push({
                            ele: n,
                            data: (0, m.
                        default)({},
                            e, t._getEleData(n, r))
                        })
                    }),
                    this._addEventsListenners(),
                    setTimeout(this._scroll.bind(this))
                }
            }]),
            e
        } ();
        if (c) return d.
    default.addClass(document.documentElement, "lt9"),
        (0, h.
    default)(r.querySelectorAll("[" + s.selector + "]"),
        function(e) {
            d.
        default.addClass(e, s.classname),
            d.
        default.triggerEvent(e, "instage")
        }),
        function() {};
        o = [],
        void 0 !== (i = function() {
            return f
        }.apply(t, o)) && (e.exports = i)
    } ();
    t.
default = x
},
function(e, t, n) {
    "use strict";
    function r(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    t.__esModule = !0;
    var o = n(5),
    i = r(o),
    a = n(56),
    s = r(a),
    u = "function" == typeof s.
default && "symbol" == typeof i.
default ?
    function(e) {
        return typeof e
    }: function(e) {
        return e && "function" == typeof s.
    default && e.constructor === s.
    default && e !== s.
    default.prototype ? "symbol": typeof e
    };
    t.
default = "function" == typeof s.
default && "symbol" === u(i.
default) ?
    function(e) {
        return void 0 === e ? "undefined": u(e)
    }: function(e) {
        return e && "function" == typeof s.
    default && e.constructor === s.
    default && e !== s.
    default.prototype ? "symbol": void 0 === e ? "undefined": u(e)
    }
},
function(e, t, n) {
    e.exports = {
    default:
        n(6),
        __esModule: !0
    }
},
function(e, t, n) {
    n(7),
    n(51),
    e.exports = n(55).f("iterator")
},
function(e, t, n) {
    "use strict";
    var r = n(8)(!0);
    n(11)(String, "String",
    function(e) {
        this._t = String(e),
        this._i = 0
    },
    function() {
        var e, t = this._t,
        n = this._i;
        return n >= t.length ? {
            value: void 0,
            done: !0
        }: (e = r(t, n), this._i += e.length, {
            value: e,
            done: !1
        })
    })
},
function(e, t, n) {
    var r = n(9),
    o = n(10);
    e.exports = function(e) {
        return function(t, n) {
            var i, a, s = String(o(t)),
            u = r(n),
            c = s.length;
            return u < 0 || u >= c ? e ? "": void 0 : (i = s.charCodeAt(u), i < 55296 || i > 56319 || u + 1 === c || (a = s.charCodeAt(u + 1)) < 56320 || a > 57343 ? e ? s.charAt(u) : i: e ? s.slice(u, u + 2) : a - 56320 + (i - 55296 << 10) + 65536)
        }
    }
},
function(e, t) {
    var n = Math.ceil,
    r = Math.floor;
    e.exports = function(e) {
        return isNaN(e = +e) ? 0 : (e > 0 ? r: n)(e)
    }
},
function(e, t) {
    e.exports = function(e) {
        if (void 0 == e) throw TypeError("Can't call method on  " + e);
        return e
    }
},
function(e, t, n) {
    "use strict";
    var r = n(12),
    o = n(13),
    i = n(29),
    a = n(18),
    s = n(30),
    u = n(31),
    c = n(47),
    l = n(49),
    f = n(48)("iterator"),
    d = !([].keys && "next" in [].keys()),
    p = function() {
        return this
    };
    e.exports = function(e, t, n, h, g, m, v) {
        u(n, t, h);
        var y, b, w, x = function(e) {
            if (!d && e in A) return A[e];
            switch (e) {
            case "keys":
            case "values":
                return function() {
                    return new n(this, e)
                }
            }
            return function() {
                return new n(this, e)
            }
        },
        T = t + " Iterator",
        C = "values" == g,
        S = !1,
        A = e.prototype,
        E = A[f] || A["@@iterator"] || g && A[g],
        k = E || x(g),
        j = g ? C ? x("entries") : k: void 0,
        O = "Array" == t ? A.entries || E: E;
        if (O && (w = l(O.call(new e))) !== Object.prototype && w.next && (c(w, T, !0), r || "function" == typeof w[f] || a(w, f, p)), C && E && "values" !== E.name && (S = !0, k = function() {
            return E.call(this)
        }), r && !v || !d && !S && A[f] || a(A, f, k), s[t] = k, s[T] = p, g) if (y = {
            values: C ? k: x("values"),
            keys: m ? k: x("keys"),
            entries: j
        },
        v) for (b in y) b in A || i(A, b, y[b]);
        else o(o.P + o.F * (d || S), t, y);
        return y
    }
},
function(e, t) {
    e.exports = !0
},
function(e, t, n) {
    var r = n(14),
    o = n(15),
    i = n(16),
    a = n(18),
    s = n(28),
    u = function(e, t, n) {
        var c, l, f, d = e & u.F,
        p = e & u.G,
        h = e & u.S,
        g = e & u.P,
        m = e & u.B,
        v = e & u.W,
        y = p ? o: o[t] || (o[t] = {}),
        b = y.prototype,
        w = p ? r: h ? r[t] : (r[t] || {}).prototype;
        p && (n = t);
        for (c in n)(l = !d && w && void 0 !== w[c]) && s(y, c) || (f = l ? w[c] : n[c], y[c] = p && "function" != typeof w[c] ? n[c] : m && l ? i(f, r) : v && w[c] == f ?
        function(e) {
            var t = function(t, n, r) {
                if (this instanceof e) {
                    switch (arguments.length) {
                    case 0:
                        return new e;
                    case 1:
                        return new e(t);
                    case 2:
                        return new e(t, n)
                    }
                    return new e(t, n, r)
                }
                return e.apply(this, arguments)
            };
            return t.prototype = e.prototype,
            t
        } (f) : g && "function" == typeof f ? i(Function.call, f) : f, g && ((y.virtual || (y.virtual = {}))[c] = f, e & u.R && b && !b[c] && a(b, c, f)))
    };
    u.F = 1,
    u.G = 2,
    u.S = 4,
    u.P = 8,
    u.B = 16,
    u.W = 32,
    u.U = 64,
    u.R = 128,
    e.exports = u
},
function(e, t) {
    var n = e.exports = "undefined" != typeof window && window.Math == Math ? window: "undefined" != typeof self && self.Math == Math ? self: Function("return this")();
    "number" == typeof __g && (__g = n)
},
function(e, t) {
    var n = e.exports = {
        version: "2.6.9"
    };
    "number" == typeof __e && (__e = n)
},
function(e, t, n) {
    var r = n(17);
    e.exports = function(e, t, n) {
        if (r(e), void 0 === t) return e;
        switch (n) {
        case 1:
            return function(n) {
                return e.call(t, n)
            };
        case 2:
            return function(n, r) {
                return e.call(t, n, r)
            };
        case 3:
            return function(n, r, o) {
                return e.call(t, n, r, o)
            }
        }
        return function() {
            return e.apply(t, arguments)
        }
    }
},
function(e, t) {
    e.exports = function(e) {
        if ("function" != typeof e) throw TypeError(e + " is not a function!");
        return e
    }
},
function(e, t, n) {
    var r = n(19),
    o = n(27);
    e.exports = n(23) ?
    function(e, t, n) {
        return r.f(e, t, o(1, n))
    }: function(e, t, n) {
        return e[t] = n,
        e
    }
},
function(e, t, n) {
    var r = n(20),
    o = n(22),
    i = n(26),
    a = Object.defineProperty;
    t.f = n(23) ? Object.defineProperty: function(e, t, n) {
        if (r(e), t = i(t, !0), r(n), o) try {
            return a(e, t, n)
        } catch(e) {}
        if ("get" in n || "set" in n) throw TypeError("Accessors not supported!");
        return "value" in n && (e[t] = n.value),
        e
    }
},
function(e, t, n) {
    var r = n(21);
    e.exports = function(e) {
        if (!r(e)) throw TypeError(e + " is not an object!");
        return e
    }
},
function(e, t) {
    e.exports = function(e) {
        return "object" == typeof e ? null !== e: "function" == typeof e
    }
},
function(e, t, n) {
    e.exports = !n(23) && !n(24)(function() {
        return 7 != Object.defineProperty(n(25)("div"), "a", {
            get: function() {
                return 7
            }
        }).a
    })
},
function(e, t, n) {
    e.exports = !n(24)(function() {
        return 7 != Object.defineProperty({},
        "a", {
            get: function() {
                return 7
            }
        }).a
    })
},
function(e, t) {
    e.exports = function(e) {
        try {
            return !! e()
        } catch(e) {
            return ! 0
        }
    }
},
function(e, t, n) {
    var r = n(21),
    o = n(14).document,
    i = r(o) && r(o.createElement);
    e.exports = function(e) {
        return i ? o.createElement(e) : {}
    }
},
function(e, t, n) {
    var r = n(21);
    e.exports = function(e, t) {
        if (!r(e)) return e;
        var n, o;
        if (t && "function" == typeof(n = e.toString) && !r(o = n.call(e))) return o;
        if ("function" == typeof(n = e.valueOf) && !r(o = n.call(e))) return o;
        if (!t && "function" == typeof(n = e.toString) && !r(o = n.call(e))) return o;
        throw TypeError("Can't convert object to primitive value")
    }
},
function(e, t) {
    e.exports = function(e, t) {
        return {
            enumerable: !(1 & e),
            configurable: !(2 & e),
            writable: !(4 & e),
            value: t
        }
    }
},
function(e, t) {
    var n = {}.hasOwnProperty;
    e.exports = function(e, t) {
        return n.call(e, t)
    }
},
function(e, t, n) {
    e.exports = n(18)
},
function(e, t) {
    e.exports = {}
},
function(e, t, n) {
    "use strict";
    var r = n(32),
    o = n(27),
    i = n(47),
    a = {};
    n(18)(a, n(48)("iterator"),
    function() {
        return this
    }),
    e.exports = function(e, t, n) {
        e.prototype = r(a, {
            next: o(1, n)
        }),
        i(e, t + " Iterator")
    }
},
function(e, t, n) {
    var r = n(20),
    o = n(33),
    i = n(45),
    a = n(42)("IE_PROTO"),
    s = function() {},
    u = function() {
        var e, t = n(25)("iframe"),
        r = i.length;
        for (t.style.display = "none", n(46).appendChild(t), t.src = "javascript:", e = t.contentWindow.document, e.open(), e.write("<script>document.F=Object<\/script>"), e.close(), u = e.F; r--;) delete u.prototype[i[r]];
        return u()
    };
    e.exports = Object.create ||
    function(e, t) {
        var n;
        return null !== e ? (s.prototype = r(e), n = new s, s.prototype = null, n[a] = e) : n = u(),
        void 0 === t ? n: o(n, t)
    }
},
function(e, t, n) {
    var r = n(19),
    o = n(20),
    i = n(34);
    e.exports = n(23) ? Object.defineProperties: function(e, t) {
        o(e);
        for (var n, a = i(t), s = a.length, u = 0; s > u;) r.f(e, n = a[u++], t[n]);
        return e
    }
},
function(e, t, n) {
    var r = n(35),
    o = n(45);
    e.exports = Object.keys ||
    function(e) {
        return r(e, o)
    }
},
function(e, t, n) {
    var r = n(28),
    o = n(36),
    i = n(39)(!1),
    a = n(42)("IE_PROTO");
    e.exports = function(e, t) {
        var n, s = o(e),
        u = 0,
        c = [];
        for (n in s) n != a && r(s, n) && c.push(n);
        for (; t.length > u;) r(s, n = t[u++]) && (~i(c, n) || c.push(n));
        return c
    }
},
function(e, t, n) {
    var r = n(37),
    o = n(10);
    e.exports = function(e) {
        return r(o(e))
    }
},
function(e, t, n) {
    var r = n(38);
    e.exports = Object("z").propertyIsEnumerable(0) ? Object: function(e) {
        return "String" == r(e) ? e.split("") : Object(e)
    }
},
function(e, t) {
    var n = {}.toString;
    e.exports = function(e) {
        return n.call(e).slice(8, -1)
    }
},
function(e, t, n) {
    var r = n(36),
    o = n(40),
    i = n(41);
    e.exports = function(e) {
        return function(t, n, a) {
            var s, u = r(t),
            c = o(u.length),
            l = i(a, c);
            if (e && n != n) {
                for (; c > l;) if ((s = u[l++]) != s) return ! 0
            } else for (; c > l; l++) if ((e || l in u) && u[l] === n) return e || l || 0;
            return ! e && -1
        }
    }
},
function(e, t, n) {
    var r = n(9),
    o = Math.min;
    e.exports = function(e) {
        return e > 0 ? o(r(e), 9007199254740991) : 0
    }
},
function(e, t, n) {
    var r = n(9),
    o = Math.max,
    i = Math.min;
    e.exports = function(e, t) {
        return e = r(e),
        e < 0 ? o(e + t, 0) : i(e, t)
    }
},
function(e, t, n) {
    var r = n(43)("keys"),
    o = n(44);
    e.exports = function(e) {
        return r[e] || (r[e] = o(e))
    }
},
function(e, t, n) {
    var r = n(15),
    o = n(14),
    i = o["__core-js_shared__"] || (o["__core-js_shared__"] = {}); (e.exports = function(e, t) {
        return i[e] || (i[e] = void 0 !== t ? t: {})
    })("versions", []).push({
        version: r.version,
        mode: n(12) ? "pure": "global",
        copyright: "© 2019 Denis Pushkarev (zloirock.ru)"
    })
},
function(e, t) {
    var n = 0,
    r = Math.random();
    e.exports = function(e) {
        return "Symbol(".concat(void 0 === e ? "": e, ")_", (++n + r).toString(36))
    }
},
function(e, t) {
    e.exports = "constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")
},
function(e, t, n) {
    var r = n(14).document;
    e.exports = r && r.documentElement
},
function(e, t, n) {
    var r = n(19).f,
    o = n(28),
    i = n(48)("toStringTag");
    e.exports = function(e, t, n) {
        e && !o(e = n ? e: e.prototype, i) && r(e, i, {
            configurable: !0,
            value: t
        })
    }
},
function(e, t, n) {
    var r = n(43)("wks"),
    o = n(44),
    i = n(14).Symbol,
    a = "function" == typeof i; (e.exports = function(e) {
        return r[e] || (r[e] = a && i[e] || (a ? i: o)("Symbol." + e))
    }).store = r
},
function(e, t, n) {
    var r = n(28),
    o = n(50),
    i = n(42)("IE_PROTO"),
    a = Object.prototype;
    e.exports = Object.getPrototypeOf ||
    function(e) {
        return e = o(e),
        r(e, i) ? e[i] : "function" == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype: e instanceof Object ? a: null
    }
},
function(e, t, n) {
    var r = n(10);
    e.exports = function(e) {
        return Object(r(e))
    }
},
function(e, t, n) {
    n(52);
    for (var r = n(14), o = n(18), i = n(30), a = n(48)("toStringTag"), s = "CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","), u = 0; u < s.length; u++) {
        var c = s[u],
        l = r[c],
        f = l && l.prototype;
        f && !f[a] && o(f, a, c),
        i[c] = i.Array
    }
},
function(e, t, n) {
    "use strict";
    var r = n(53),
    o = n(54),
    i = n(30),
    a = n(36);
    e.exports = n(11)(Array, "Array",
    function(e, t) {
        this._t = a(e),
        this._i = 0,
        this._k = t
    },
    function() {
        var e = this._t,
        t = this._k,
        n = this._i++;
        return ! e || n >= e.length ? (this._t = void 0, o(1)) : "keys" == t ? o(0, n) : "values" == t ? o(0, e[n]) : o(0, [n, e[n]])
    },
    "values"),
    i.Arguments = i.Array,
    r("keys"),
    r("values"),
    r("entries")
},
function(e, t) {
    e.exports = function() {}
},
function(e, t) {
    e.exports = function(e, t) {
        return {
            value: t,
            done: !!e
        }
    }
},
function(e, t, n) {
    t.f = n(48)
},
function(e, t, n) {
    e.exports = {
    default:
        n(57),
        __esModule: !0
    }
},
function(e, t, n) {
    n(58),
    n(68),
    n(69),
    n(70),
    e.exports = n(15).Symbol
},
function(e, t, n) {
    "use strict";
    var r = n(14),
    o = n(28),
    i = n(23),
    a = n(13),
    s = n(29),
    u = n(59).KEY,
    c = n(24),
    l = n(43),
    f = n(47),
    d = n(44),
    p = n(48),
    h = n(55),
    g = n(60),
    m = n(61),
    v = n(64),
    y = n(20),
    b = n(21),
    w = n(50),
    x = n(36),
    T = n(26),
    C = n(27),
    S = n(32),
    A = n(65),
    E = n(67),
    k = n(62),
    j = n(19),
    O = n(34),
    $ = E.f,
    M = j.f,
    N = A.f,
    _ = r.Symbol,
    P = r.JSON,
    I = P && P.stringify,
    D = p("_hidden"),
    L = p("toPrimitive"),
    q = {}.propertyIsEnumerable,
    H = l("symbol-registry"),
    R = l("symbols"),
    F = l("op-symbols"),
    z = Object.prototype,
    B = "function" == typeof _ && !!k.f,
    W = r.QObject,
    U = !W || !W.prototype || !W.prototype.findChild,
    G = i && c(function() {
        return 7 != S(M({},
        "a", {
            get: function() {
                return M(this, "a", {
                    value: 7
                }).a
            }
        })).a
    }) ?
    function(e, t, n) {
        var r = $(z, t);
        r && delete z[t],
        M(e, t, n),
        r && e !== z && M(z, t, r)
    }: M,
    V = function(e) {
        var t = R[e] = S(_.prototype);
        return t._k = e,
        t
    },
    X = B && "symbol" == typeof _.iterator ?
    function(e) {
        return "symbol" == typeof e
    }: function(e) {
        return e instanceof _
    },
    J = function(e, t, n) {
        return e === z && J(F, t, n),
        y(e),
        t = T(t, !0),
        y(n),
        o(R, t) ? (n.enumerable ? (o(e, D) && e[D][t] && (e[D][t] = !1), n = S(n, {
            enumerable: C(0, !1)
        })) : (o(e, D) || M(e, D, C(1, {})), e[D][t] = !0), G(e, t, n)) : M(e, t, n)
    },
    Q = function(e, t) {
        y(e);
        for (var n, r = m(t = x(t)), o = 0, i = r.length; i > o;) J(e, n = r[o++], t[n]);
        return e
    },
    Y = function(e, t) {
        return void 0 === t ? S(e) : Q(S(e), t)
    },
    K = function(e) {
        var t = q.call(this, e = T(e, !0));
        return ! (this === z && o(R, e) && !o(F, e)) && (!(t || !o(this, e) || !o(R, e) || o(this, D) && this[D][e]) || t)
    },
    Z = function(e, t) {
        if (e = x(e), t = T(t, !0), e !== z || !o(R, t) || o(F, t)) {
            var n = $(e, t);
            return ! n || !o(R, t) || o(e, D) && e[D][t] || (n.enumerable = !0),
            n
        }
    },
    ee = function(e) {
        for (var t, n = N(x(e)), r = [], i = 0; n.length > i;) o(R, t = n[i++]) || t == D || t == u || r.push(t);
        return r
    },
    te = function(e) {
        for (var t, n = e === z,
        r = N(n ? F: x(e)), i = [], a = 0; r.length > a;) ! o(R, t = r[a++]) || n && !o(z, t) || i.push(R[t]);
        return i
    };
    B || (_ = function() {
        if (this instanceof _) throw TypeError("Symbol is not a constructor!");
        var e = d(arguments.length > 0 ? arguments[0] : void 0),
        t = function(n) {
            this === z && t.call(F, n),
            o(this, D) && o(this[D], e) && (this[D][e] = !1),
            G(this, e, C(1, n))
        };
        return i && U && G(z, e, {
            configurable: !0,
            set: t
        }),
        V(e)
    },
    s(_.prototype, "toString",
    function() {
        return this._k
    }), E.f = Z, j.f = J, n(66).f = A.f = ee, n(63).f = K, k.f = te, i && !n(12) && s(z, "propertyIsEnumerable", K, !0), h.f = function(e) {
        return V(p(e))
    }),
    a(a.G + a.W + a.F * !B, {
        Symbol: _
    });
    for (var ne = "hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","), re = 0; ne.length > re;) p(ne[re++]);
    for (var oe = O(p.store), ie = 0; oe.length > ie;) g(oe[ie++]);
    a(a.S + a.F * !B, "Symbol", {
        for: function(e) {
            return o(H, e += "") ? H[e] : H[e] = _(e)
        },
        keyFor: function(e) {
            if (!X(e)) throw TypeError(e + " is not a symbol!");
            for (var t in H) if (H[t] === e) return t
        },
        useSetter: function() {
            U = !0
        },
        useSimple: function() {
            U = !1
        }
    }),
    a(a.S + a.F * !B, "Object", {
        create: Y,
        defineProperty: J,
        defineProperties: Q,
        getOwnPropertyDescriptor: Z,
        getOwnPropertyNames: ee,
        getOwnPropertySymbols: te
    });
    var ae = c(function() {
        k.f(1)
    });
    a(a.S + a.F * ae, "Object", {
        getOwnPropertySymbols: function(e) {
            return k.f(w(e))
        }
    }),
    P && a(a.S + a.F * (!B || c(function() {
        var e = _();
        return "[null]" != I([e]) || "{}" != I({
            a: e
        }) || "{}" != I(Object(e))
    })), "JSON", {
        stringify: function(e) {
            for (var t, n, r = [e], o = 1; arguments.length > o;) r.push(arguments[o++]);
            if (n = t = r[1], (b(t) || void 0 !== e) && !X(e)) return v(t) || (t = function(e, t) {
                if ("function" == typeof n && (t = n.call(this, e, t)), !X(t)) return t
            }),
            r[1] = t,
            I.apply(P, r)
        }
    }),
    _.prototype[L] || n(18)(_.prototype, L, _.prototype.valueOf),
    f(_, "Symbol"),
    f(Math, "Math", !0),
    f(r.JSON, "JSON", !0)
},
function(e, t, n) {
    var r = n(44)("meta"),
    o = n(21),
    i = n(28),
    a = n(19).f,
    s = 0,
    u = Object.isExtensible ||
    function() {
        return ! 0
    },
    c = !n(24)(function() {
        return u(Object.preventExtensions({}))
    }),
    l = function(e) {
        a(e, r, {
            value: {
                i: "O" + ++s,
                w: {}
            }
        })
    },
    f = function(e, t) {
        if (!o(e)) return "symbol" == typeof e ? e: ("string" == typeof e ? "S": "P") + e;
        if (!i(e, r)) {
            if (!u(e)) return "F";
            if (!t) return "E";
            l(e)
        }
        return e[r].i
    },
    d = function(e, t) {
        if (!i(e, r)) {
            if (!u(e)) return ! 0;
            if (!t) return ! 1;
            l(e)
        }
        return e[r].w
    },
    p = function(e) {
        return c && h.NEED && u(e) && !i(e, r) && l(e),
        e
    },
    h = e.exports = {
        KEY: r,
        NEED: !1,
        fastKey: f,
        getWeak: d,
        onFreeze: p
    }
},
function(e, t, n) {
    var r = n(14),
    o = n(15),
    i = n(12),
    a = n(55),
    s = n(19).f;
    e.exports = function(e) {
        var t = o.Symbol || (o.Symbol = i ? {}: r.Symbol || {});
        "_" == e.charAt(0) || e in t || s(t, e, {
            value: a.f(e)
        })
    }
},
function(e, t, n) {
    var r = n(34),
    o = n(62),
    i = n(63);
    e.exports = function(e) {
        var t = r(e),
        n = o.f;
        if (n) for (var a, s = n(e), u = i.f, c = 0; s.length > c;) u.call(e, a = s[c++]) && t.push(a);
        return t
    }
},
function(e, t) {
    t.f = Object.getOwnPropertySymbols
},
function(e, t) {
    t.f = {}.propertyIsEnumerable
},
function(e, t, n) {
    var r = n(38);
    e.exports = Array.isArray ||
    function(e) {
        return "Array" == r(e)
    }
},
function(e, t, n) {
    var r = n(36),
    o = n(66).f,
    i = {}.toString,
    a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [],
    s = function(e) {
        try {
            return o(e)
        } catch(e) {
            return a.slice()
        }
    };
    e.exports.f = function(e) {
        return a && "[object Window]" == i.call(e) ? s(e) : o(r(e))
    }
},
function(e, t, n) {
    var r = n(35),
    o = n(45).concat("length", "prototype");
    t.f = Object.getOwnPropertyNames ||
    function(e) {
        return r(e, o)
    }
},
function(e, t, n) {
    var r = n(63),
    o = n(27),
    i = n(36),
    a = n(26),
    s = n(28),
    u = n(22),
    c = Object.getOwnPropertyDescriptor;
    t.f = n(23) ? c: function(e, t) {
        if (e = i(e), t = a(t, !0), u) try {
            return c(e, t)
        } catch(e) {}
        if (s(e, t)) return o(!r.f.call(e, t), e[t])
    }
},
function(e, t) {},
function(e, t, n) {
    n(60)("asyncIterator")
},
function(e, t, n) {
    n(60)("observable")
},
function(e, t) {
    "use strict";
    t.__esModule = !0,
    t.
default = function(e, t) {
        if (! (e instanceof t)) throw new TypeError("Cannot call a class as a function")
    }
},
function(e, t, n) {
    "use strict";
    t.__esModule = !0;
    var r = n(73),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r);
    t.
default = function() {
        function e(e, t) {
            for (var n = 0; n < t.length; n++) {
                var r = t[n];
                r.enumerable = r.enumerable || !1,
                r.configurable = !0,
                "value" in r && (r.writable = !0),
                (0, o.
            default)(e, r.key, r)
            }
        }
        return function(t, n, r) {
            return n && e(t.prototype, n),
            r && e(t, r),
            t
        }
    } ()
},
function(e, t, n) {
    e.exports = {
    default:
        n(74),
        __esModule: !0
    }
},
function(e, t, n) {
    n(75);
    var r = n(15).Object;
    e.exports = function(e, t, n) {
        return r.defineProperty(e, t, n)
    }
},
function(e, t, n) {
    var r = n(13);
    r(r.S + r.F * !n(23), "Object", {
        defineProperty: n(19).f
    })
},
function(e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var r = n(4),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r),
    i = function() {
        var e = [null, ["-webkit-", "webkit"], ["-moz-", "Moz"], ["-o-", "O"], ["-ms-", "ms"]],
        t = {
            regClassCache: {},
            propertyCache: {},
            visible: function(e) {
                return "hidden" !== t.getCSS(e, "visibility") && "none" !== t.getCSS(e, "display") && null !== e.offsetParent
            },
            isElement: function(e) {
                return !! (e[0] || e).nodeType
            },
            isType: function(e, t) {
                return (void 0 === e ? "undefined": (0, o.
            default)(e)) === t
            },
            hasClass: function(e, n) {
                return t.regClassCache[n] || (t.regClassCache[n] = new RegExp("(\\s|^)" + n + "(\\s|$)")),
                t.regClassCache[n].test(e.getAttribute("class") || "") && t.regClassCache[n]
            },
            addClass: function(e, n) {
                t.hasClass(e, n) || e.setAttribute("class", (e.getAttribute("class") || "").trim() + " " + n)
            },
            removeClass: function(e, n) {
                var r; (r = t.hasClass(e, n)) && e.setAttribute("class", (e.getAttribute("class") || "").replace(r, " "))
            },
            getAttribute: function(e, t) {
                return e.getAttribute(t) && e.getAttribute(t).trim()
            },
            setAttribute: function(e, t, n) {
                e.setAttribute(t, n)
            },
            getData: function(e, n) {
                var r = n.indexOf("data") > -1 ? t.getAttribute(e, n) : t.getAttribute(e, "data-" + n);
                if ("string" == typeof r) try {
                    if ("true" === r) return ! 0;
                    if ("false" === r) return ! 1;
                    if ("null" === r) return null;
                    if (r === +r + "") return + r;
                    if (/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/.test(r)) return new Function("return " + r)()
                } catch(e) {} else r = void 0;
                return r
            },
            setData: function(e, t, n) {},
            triggerEvent: function(e, t, n, r, o) {
                n || (n = {});
                var i = document.createEvent("CustomEvent");
                return i.initCustomEvent(t, !1, !1, n),
                e.dispatchEvent(i),
                i
            },
            copyArray: function(e, t) {
                for (var n = 0,
                r = e.length; n < r; n++) t[n] = e[n]
            },
            extend: function(e, t) {
                for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
                return e
            },
            docVisibility: function(e, t) {
                var n = "hidden" in document ? "hidden": "webkitHidden" in document ? "webkitHidden": "mozHidden" in document ? "mozHidden": null,
                r = n.replace(/hidden/i, "visibilitychange"),
                o = function() {
                    document[n] ? "function" == typeof t && t() : "function" == typeof e && e()
                };
                document.addEventListener(r, o)
            },
            support: function() {
                var t = document.createElement("div"),
                n = function() {
                    var e = document.body,
                    t = !1;
                    return e || (e = document.createElement("body"), t = !0, document.documentElement.appendChild(e), e.style.overflow = "hidden", e.style.background = ""),
                    {
                        body: e,
                        isCreated: t
                    }
                } (),
                r = {},
                o = function(n) {
                    for (var o = void 0,
                    i = void 0,
                    a = 0; a < e.length; a++) if (null !== e[a] ? (o = e[a][0] + n, i = e[a][1] + n.replace(/^\w/g,
                    function(e, t) {
                        return e.toUpperCase()
                    })) : (o = n, i = n), void 0 !== t.style[o]) {
                        r[n] = !0;
                        break
                    }
                    return [o, i]
                },
                i = o("transform"),
                a = !!navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry|BB10|mobi|tablet|opera mini|nexus 7)/i);
                return {
                    transform: r.transform,
                    transform3d: r.transform &&
                    function() {
                        n.body.appendChild(t),
                        t.style[i[1]] = "translate3d(1px,1px,1px)";
                        var e = window.getComputedStyle(t).getPropertyValue(i[0]);
                        return n.body.removeChild(t),
                        n.isCreated && (n.body.removeAttribute("style"), n.body.parentNode.removeChild(n.body)),
                        void 0 !== e && e.length > 0 && "none" !== e || !1
                    } (),
                    mobile: a,
                    motion: !!window.DeviceMotionEvent && a,
                    orientation: !!window.DeviceOrientationEvent && a,
                    retina: function() {
                        return window.devicePixelRatio > 1 || !(!window.matchMedia || !window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)").matches)
                    },
                    addVendors: o
                }
            },
            camelCase: function(e) {
                return e.replace(/-+(.)?/g,
                function(e, t) {
                    return t ? t.toUpperCase() : ""
                })
            },
            css: function(n, r, o) {
                var i = t.propertyCache[r];
                if (!i) for (var a = 0,
                s = e.length; a < s; a++) if (i = null !== e[a] ? t.camelCase(e[a][1] + "-" + r) : r, void 0 !== n.style[i]) {
                    t.propertyCache[r] = i;
                    break
                }
                n.style[i] = o
            },
            getCSS: function(e, t) {
                return (e.ownerDocument.defaultView.getComputedStyle(e, null) || {})[t]
            }
        };
        return t
    } ();
    t.
default = i
},
function(e, t, n) {
    function r(e, t) {
        return (s(e) ? o: i)(e, a(t))
    }
    var o = n(78),
    i = n(79),
    a = n(113),
    s = n(95);
    e.exports = r
},
function(e, t) {
    function n(e, t) {
        for (var n = -1,
        r = null == e ? 0 : e.length; ++n < r && !1 !== t(e[n], n, e););
        return e
    }
    e.exports = n
},
function(e, t, n) {
    var r = n(80),
    o = n(112),
    i = o(r);
    e.exports = i
},
function(e, t, n) {
    function r(e, t) {
        return e && o(e, t, i)
    }
    var o = n(81),
    i = n(83);
    e.exports = r
},
function(e, t, n) {
    var r = n(82),
    o = r();
    e.exports = o
},
function(e, t) {
    function n(e) {
        return function(t, n, r) {
            for (var o = -1,
            i = Object(t), a = r(t), s = a.length; s--;) {
                var u = a[e ? s: ++o];
                if (!1 === n(i[u], u, i)) break
            }
            return t
        }
    }
    e.exports = n
},
function(e, t, n) {
    function r(e) {
        return a(e) ? o(e) : i(e)
    }
    var o = n(84),
    i = n(105),
    a = n(109);
    e.exports = r
},
function(e, t, n) {
    function r(e, t) {
        var n = a(e),
        r = !n && i(e),
        l = !n && !r && s(e),
        d = !n && !r && !l && c(e),
        p = n || r || l || d,
        h = p ? o(e.length, String) : [],
        g = h.length;
        for (var m in e) ! t && !f.call(e, m) || p && ("length" == m || l && ("offset" == m || "parent" == m) || d && ("buffer" == m || "byteLength" == m || "byteOffset" == m) || u(m, g)) || h.push(m);
        return h
    }
    var o = n(85),
    i = n(86),
    a = n(95),
    s = n(96),
    u = n(99),
    c = n(100),
    l = Object.prototype,
    f = l.hasOwnProperty;
    e.exports = r
},
function(e, t) {
    function n(e, t) {
        for (var n = -1,
        r = Array(e); ++n < e;) r[n] = t(n);
        return r
    }
    e.exports = n
},
function(e, t, n) {
    var r = n(87),
    o = n(94),
    i = Object.prototype,
    a = i.hasOwnProperty,
    s = i.propertyIsEnumerable,
    u = r(function() {
        return arguments
    } ()) ? r: function(e) {
        return o(e) && a.call(e, "callee") && !s.call(e, "callee")
    };
    e.exports = u
},
function(e, t, n) {
    function r(e) {
        return i(e) && o(e) == a
    }
    var o = n(88),
    i = n(94),
    a = "[object Arguments]";
    e.exports = r
},
function(e, t, n) {
    function r(e) {
        return null == e ? void 0 === e ? u: s: c && c in Object(e) ? i(e) : a(e)
    }
    var o = n(89),
    i = n(92),
    a = n(93),
    s = "[object Null]",
    u = "[object Undefined]",
    c = o ? o.toStringTag: void 0;
    e.exports = r
},
function(e, t, n) {
    var r = n(90),
    o = r.Symbol;
    e.exports = o
},
function(e, t, n) {
    var r = n(91),
    o = "object" == typeof self && self && self.Object === Object && self,
    i = r || o || Function("return this")();
    e.exports = i
},
function(e, t) { (function(t) {
        var n = "object" == typeof t && t && t.Object === Object && t;
        e.exports = n
    }).call(t,
    function() {
        return this
    } ())
},
function(e, t, n) {
    function r(e) {
        var t = a.call(e, u),
        n = e[u];
        try {
            e[u] = void 0;
            var r = !0
        } catch(e) {}
        var o = s.call(e);
        return r && (t ? e[u] = n: delete e[u]),
        o
    }
    var o = n(89),
    i = Object.prototype,
    a = i.hasOwnProperty,
    s = i.toString,
    u = o ? o.toStringTag: void 0;
    e.exports = r
},
function(e, t) {
    function n(e) {
        return o.call(e)
    }
    var r = Object.prototype,
    o = r.toString;
    e.exports = n
},
function(e, t) {
    function n(e) {
        return null != e && "object" == typeof e
    }
    e.exports = n
},
function(e, t) {
    var n = Array.isArray;
    e.exports = n
},
function(e, t, n) { (function(e) {
        var r = n(90),
        o = n(98),
        i = "object" == typeof t && t && !t.nodeType && t,
        a = i && "object" == typeof e && e && !e.nodeType && e,
        s = a && a.exports === i,
        u = s ? r.Buffer: void 0,
        c = u ? u.isBuffer: void 0,
        l = c || o;
        e.exports = l
    }).call(t, n(97)(e))
},
function(e, t) {
    e.exports = function(e) {
        return e.webpackPolyfill || (e.deprecate = function() {},
        e.paths = [], e.children = [], e.webpackPolyfill = 1),
        e
    }
},
function(e, t) {
    function n() {
        return ! 1
    }
    e.exports = n
},
function(e, t) {
    function n(e, t) {
        var n = typeof e;
        return !! (t = null == t ? r: t) && ("number" == n || "symbol" != n && o.test(e)) && e > -1 && e % 1 == 0 && e < t
    }
    var r = 9007199254740991,
    o = /^(?:0|[1-9]\d*)$/;
    e.exports = n
},
function(e, t, n) {
    var r = n(101),
    o = n(103),
    i = n(104),
    a = i && i.isTypedArray,
    s = a ? o(a) : r;
    e.exports = s
},
function(e, t, n) {
    function r(e) {
        return a(e) && i(e.length) && !!s[o(e)]
    }
    var o = n(88),
    i = n(102),
    a = n(94),
    s = {};
    s["[object Float32Array]"] = s["[object Float64Array]"] = s["[object Int8Array]"] = s["[object Int16Array]"] = s["[object Int32Array]"] = s["[object Uint8Array]"] = s["[object Uint8ClampedArray]"] = s["[object Uint16Array]"] = s["[object Uint32Array]"] = !0,
    s["[object Arguments]"] = s["[object Array]"] = s["[object ArrayBuffer]"] = s["[object Boolean]"] = s["[object DataView]"] = s["[object Date]"] = s["[object Error]"] = s["[object Function]"] = s["[object Map]"] = s["[object Number]"] = s["[object Object]"] = s["[object RegExp]"] = s["[object Set]"] = s["[object String]"] = s["[object WeakMap]"] = !1,
    e.exports = r
},
function(e, t) {
    function n(e) {
        return "number" == typeof e && e > -1 && e % 1 == 0 && e <= r
    }
    var r = 9007199254740991;
    e.exports = n
},
function(e, t) {
    function n(e) {
        return function(t) {
            return e(t)
        }
    }
    e.exports = n
},
function(e, t, n) { (function(e) {
        var r = n(91),
        o = "object" == typeof t && t && !t.nodeType && t,
        i = o && "object" == typeof e && e && !e.nodeType && e,
        a = i && i.exports === o,
        s = a && r.process,
        u = function() {
            try {
                var e = i && i.require && i.require("util").types;
                return e || s && s.binding && s.binding("util")
            } catch(e) {}
        } ();
        e.exports = u
    }).call(t, n(97)(e))
},
function(e, t, n) {
    function r(e) {
        if (!o(e)) return i(e);
        var t = [];
        for (var n in Object(e)) s.call(e, n) && "constructor" != n && t.push(n);
        return t
    }
    var o = n(106),
    i = n(107),
    a = Object.prototype,
    s = a.hasOwnProperty;
    e.exports = r
},
function(e, t) {
    function n(e) {
        var t = e && e.constructor;
        return e === ("function" == typeof t && t.prototype || r)
    }
    var r = Object.prototype;
    e.exports = n
},
function(e, t, n) {
    var r = n(108),
    o = r(Object.keys, Object);
    e.exports = o
},
function(e, t) {
    function n(e, t) {
        return function(n) {
            return e(t(n))
        }
    }
    e.exports = n
},
function(e, t, n) {
    function r(e) {
        return null != e && i(e.length) && !o(e)
    }
    var o = n(110),
    i = n(102);
    e.exports = r
},
function(e, t, n) {
    function r(e) {
        if (!i(e)) return ! 1;
        var t = o(e);
        return t == s || t == u || t == a || t == c
    }
    var o = n(88),
    i = n(111),
    a = "[object AsyncFunction]",
    s = "[object Function]",
    u = "[object GeneratorFunction]",
    c = "[object Proxy]";
    e.exports = r
},
function(e, t) {
    function n(e) {
        var t = typeof e;
        return null != e && ("object" == t || "function" == t)
    }
    e.exports = n
},
function(e, t, n) {
    function r(e, t) {
        return function(n, r) {
            if (null == n) return n;
            if (!o(n)) return e(n, r);
            for (var i = n.length,
            a = t ? i: -1, s = Object(n); (t ? a--:++a < i) && !1 !== r(s[a], a, s););
            return n
        }
    }
    var o = n(109);
    e.exports = r
},
function(e, t, n) {
    function r(e) {
        return "function" == typeof e ? e: o
    }
    var o = n(114);
    e.exports = r
},
function(e, t) {
    function n(e) {
        return e
    }
    e.exports = n
},
function(e, t) {
    "use strict";
    function n(e) {
        if (null === e || void 0 === e) throw new TypeError("Object.assign cannot be called with null or undefined");
        return Object(e)
    }
    var r = Object.getOwnPropertySymbols,
    o = Object.prototype.hasOwnProperty,
    i = Object.prototype.propertyIsEnumerable;
    e.exports = function() {
        try {
            if (!Object.assign) return ! 1;
            var e = new String("abc");
            if (e[5] = "de", "5" === Object.getOwnPropertyNames(e)[0]) return ! 1;
            for (var t = {},
            n = 0; n < 10; n++) t["_" + String.fromCharCode(n)] = n;
            if ("0123456789" !== Object.getOwnPropertyNames(t).map(function(e) {
                return t[e]
            }).join("")) return ! 1;
            var r = {};
            return "abcdefghijklmnopqrst".split("").forEach(function(e) {
                r[e] = e
            }),
            "abcdefghijklmnopqrst" === Object.keys(Object.assign({},
            r)).join("")
        } catch(e) {
            return ! 1
        }
    } () ? Object.assign: function(e, t) {
        for (var a, s, u = n(e), c = 1; c < arguments.length; c++) {
            a = Object(arguments[c]);
            for (var l in a) o.call(a, l) && (u[l] = a[l]);
            if (r) {
                s = r(a);
                for (var f = 0; f < s.length; f++) i.call(a, s[f]) && (u[s[f]] = a[s[f]])
            }
        }
        return u
    }
},
function(e, t, n) { (function(t) {
        for (var r = n(117), o = "undefined" == typeof window ? t: window, i = ["moz", "webkit"], a = "AnimationFrame", s = o["request" + a], u = o["cancel" + a] || o["cancelRequest" + a], c = 0; ! s && c < i.length; c++) s = o[i[c] + "Request" + a],
        u = o[i[c] + "Cancel" + a] || o[i[c] + "CancelRequest" + a];
        if (!s || !u) {
            var l = 0,
            f = 0,
            d = [];
            s = function(e) {
                if (0 === d.length) {
                    var t = r(),
                    n = Math.max(0, 1e3 / 60 - (t - l));
                    l = n + t,
                    setTimeout(function() {
                        var e = d.slice(0);
                        d.length = 0;
                        for (var t = 0; t < e.length; t++) if (!e[t].cancelled) try {
                            e[t].callback(l)
                        } catch(e) {
                            setTimeout(function() {
                                throw e
                            },
                            0)
                        }
                    },
                    Math.round(n))
                }
                return d.push({
                    handle: ++f,
                    callback: e,
                    cancelled: !1
                }),
                f
            },
            u = function(e) {
                for (var t = 0; t < d.length; t++) d[t].handle === e && (d[t].cancelled = !0)
            }
        }
        e.exports = function(e) {
            return s.call(o, e)
        },
        e.exports.cancel = function() {
            u.apply(o, arguments)
        },
        e.exports.polyfill = function(e) {
            e || (e = o),
            e.requestAnimationFrame = s,
            e.cancelAnimationFrame = u
        }
    }).call(t,
    function() {
        return this
    } ())
},
function(e, t, n) { (function(t) { (function() {
            var n, r, o, i, a, s;
            "undefined" != typeof performance && null !== performance && performance.now ? e.exports = function() {
                return performance.now()
            }: void 0 !== t && null !== t && t.hrtime ? (e.exports = function() {
                return (n() - a) / 1e6
            },
            r = t.hrtime, n = function() {
                var e;
                return e = r(),
                1e9 * e[0] + e[1]
            },
            i = n(), s = 1e9 * t.uptime(), a = i - s) : Date.now ? (e.exports = function() {
                return Date.now() - o
            },
            o = Date.now()) : (e.exports = function() {
                return (new Date).getTime() - o
            },
            o = (new Date).getTime())
        }).call(this)
    }).call(t, n(118))
},
function(e, t) {
    function n() {
        throw new Error("setTimeout has not been defined")
    }
    function r() {
        throw new Error("clearTimeout has not been defined")
    }
    function o(e) {
        if (l === setTimeout) return setTimeout(e, 0);
        if ((l === n || !l) && setTimeout) return l = setTimeout,
        setTimeout(e, 0);
        try {
            return l(e, 0)
        } catch(t) {
            try {
                return l.call(null, e, 0)
            } catch(t) {
                return l.call(this, e, 0)
            }
        }
    }
    function i(e) {
        if (f === clearTimeout) return clearTimeout(e);
        if ((f === r || !f) && clearTimeout) return f = clearTimeout,
        clearTimeout(e);
        try {
            return f(e)
        } catch(t) {
            try {
                return f.call(null, e)
            } catch(t) {
                return f.call(this, e)
            }
        }
    }
    function a() {
        g && p && (g = !1, p.length ? h = p.concat(h) : m = -1, h.length && s())
    }
    function s() {
        if (!g) {
            var e = o(a);
            g = !0;
            for (var t = h.length; t;) {
                for (p = h, h = []; ++m < t;) p && p[m].run();
                m = -1,
                t = h.length
            }
            p = null,
            g = !1,
            i(e)
        }
    }
    function u(e, t) {
        this.fun = e,
        this.array = t
    }
    function c() {}
    var l, f, d = e.exports = {}; !
    function() {
        try {
            l = "function" == typeof setTimeout ? setTimeout: n
        } catch(e) {
            l = n
        }
        try {
            f = "function" == typeof clearTimeout ? clearTimeout: r
        } catch(e) {
            f = r
        }
    } ();
    var p, h = [],
    g = !1,
    m = -1;
    d.nextTick = function(e) {
        var t = new Array(arguments.length - 1);
        if (arguments.length > 1) for (var n = 1; n < arguments.length; n++) t[n - 1] = arguments[n];
        h.push(new u(e, t)),
        1 !== h.length || g || o(s)
    },
    u.prototype.run = function() {
        this.fun.apply(null, this.array)
    },
    d.title = "browser",
    d.browser = !0,
    d.env = {},
    d.argv = [],
    d.version = "",
    d.versions = {},
    d.on = c,
    d.addListener = c,
    d.once = c,
    d.off = c,
    d.removeListener = c,
    d.removeAllListeners = c,
    d.emit = c,
    d.prependListener = c,
    d.prependOnceListener = c,
    d.listeners = function(e) {
        return []
    },
    d.binding = function(e) {
        throw new Error("process.binding is not supported")
    },
    d.cwd = function() {
        return "/"
    },
    d.chdir = function(e) {
        throw new Error("process.chdir is not supported")
    },
    d.umask = function() {
        return 0
    }
},
function(e, t) {
    function n(e, t, n) {
        function r() {
            var c = Date.now() - s;
            c < t && c >= 0 ? o = setTimeout(r, t - c) : (o = null, n || (u = e.apply(a, i), a = i = null))
        }
        var o, i, a, s, u;
        null == t && (t = 100);
        var c = function() {
            a = this,
            i = arguments,
            s = Date.now();
            var c = n && !o;
            return o || (o = setTimeout(r, t)),
            c && (u = e.apply(a, i), a = i = null),
            u
        };
        return c.clear = function() {
            o && (clearTimeout(o), o = null)
        },
        c.flush = function() {
            o && (u = e.apply(a, i), a = i = null, clearTimeout(o), o = null)
        },
        c
    }
    n.debounce = n,
    e.exports = n
},
function(e, t, n) {
    "use strict";
    var r = n(4),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r); !
    function() {
        function t(e) {
            if (r.length) {
                for (var n in r) if ("object" === (0, o.
            default)(r[n]) && null !== r[n].offsetParent && c(r[n], "lazy-imageom")) {
                    var u = r[n].getBoundingClientRect();
                    u && u.top <= 1.5 * a.clientHeight && u.bottom >= 0 && (l(r[n], "lazy-imageom"), !f() && (r = i.getElementsByClassName("lazy-imageom")))
                }
                s(t)
            }
        }
        function n() {
            r = i.getElementsByClassName("lazy-imageom"),
            t()
        }
        var r, i = document,
        a = i.documentElement,
        s = window.requestAnimationFrame || setTimeout,
        u = (window.requestIdleCallback, {}),
        c = function(e, t) {
            return u[t] || (u[t] = new RegExp("(\\s|^)" + t + "(\\s|$)")),
            u[t].test(e.getAttribute("class") || "") && u[t]
        },
        l = function(e, t) {
            var n; (n = c(e, t)) && e.setAttribute("class", (e.getAttribute("class") || "").replace(n, " "))
        },
        f = function() {
            return /Firefox/gi.test(window.navigator.userAgent)
        };
        e.exports = {
            init: n
        }
    } ()
},
function(e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var r = n(76),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r);
    t.
default = function() {
        function e() {
            a("innervideo").each(function() {
                var e = this;
                $(this).on("click",
                function(t) {
                    t.preventDefault(),
                    e.res = o.
                default.getData(this, "resource"),
                    e.res.url && n({
                        url: e.res.url,
                        poster: e.res.poster || "http://www.vivo.com.cn/images/vivo-gb-logo-x2.png",
                        width: e.res.width || 720,
                        height: e.res.height || 480
                    })
                })
            }),
            $(window).on({
                resize: i,
                wheel: function(e) {
                    v || e.preventDefault()
                }
            }),
            i(),
            t(),
            p = $("#vivo-product-wrap"),
            $(".vivo-container").length && (p = $(".vivo-container"))
        }
        function t() {
            $("#pd-fly-layer").length < 1 && $("body").append('\n            <div id="pd-fly-layer">\n                <i></i>\n                <div class="pd-fly-wrap">\n                    <div class="pd-fly-showbox">\n                        <a class="pd-fly-close " href="#"><b class="iconfont-symbol-products ico-symbol-close1"></b></a>\n                        <div class="pd-fly-content"></div>\n                    </div>\n                </div>\n            </div>\n        '),
            s = $("#pd-fly-layer"),
            c = s.find("i"),
            u = s.find(".pd-fly-wrap"),
            l = s.find(".pd-fly-showbox"),
            f = l.find(".pd-fly-content"),
            d = l.find(".pd-fly-close"),
            d.on("click",
            function(e) {
                e.preventDefault(),
                r()
            })
        }
        function n(e) {
            var t = (document.location.protocol, e.url),
            n = e.poster,
            o = e.width,
            i = e.height;
            if (!t) return ! 1;
            var a = '<iframe frameborder="0" width="100%" height="100%" allowfullscreen src="//www.vivo.com.cn/vplay?url=' + t + "&poster=" + n + '"></iframe>',
            s = {
                width: o,
                height: i,
                marginTop: -i / 2,
                marginLeft: -o / 2
            };
            Modernizr.mobile && !Modernizr.windows && (s = {
                width: "100%",
                height: "100%",
                left: 0
            }),
            Modernizr.mobile && (a = '<video webkit-playsinline  controls="controls" width="100%" height="100%"><source src="' + t + '" type="video/mp4"></video>', f.css({
                position: "relative",
                height: "50%",
                top: "25%"
            })),
            l.css(s),
            f.html(a),
            r()
        }
        function r() {
            i(),
            s.is(":visible") ? (v = !0, TweenMax.to(s, .5, {
                opacity: 0,
                onComplete: function() {
                    $("body").css({
                        height: ""
                    }),
                    $("html").removeClass("limit-fly"),
                    $(window).scrollTop(m),
                    s.hide(),
                    f.html("")
                }
            })) : (v = !1, m = $(window).scrollTop(), s.show().css({
                opacity: 0
            }), setTimeout(function() {
                $("body").css({
                    height: $(document).height()
                }),
                $("html").addClass("limit-fly"),
                TweenMax.to(s, .5, {
                    opacity: 1
                })
            },
            10))
        }
        function i() {
            h = $(window).height(),
            g = $(window).width(),
            s && (c.css({
                width: g,
                height: h
            }), u.css({
                width: g,
                height: h
            }))
        }
        var a = function(e) {
            var t;
            return t = e && "*" !== e ? "[data-trigger*=" + e + "]": "[data-trigger]",
            $(t)
        },
        s = void 0,
        u = void 0,
        c = void 0,
        l = void 0,
        f = void 0,
        d = void 0,
        p = void 0,
        h = void 0,
        g = void 0,
        m = void 0,
        v = !0;
        window.onload = function() {
            e()
        }
    }
},
function(e, t, n) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var r = n(4),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r);
    n(2),
    n(123),
    n(124);
    var i = (n(125),
    function(e) {
        function t(t) {
            return w = e(d.DATA_MAIN_HANDLE),
            x = e(d.MAIN_WRAPPER),
            T = e(d.DETAIL_WRAPPER),
            b = e(".ec-botton-close"),
            O = P.transitionEndTest(),
            e.each(w,
            function(t, n) {
                var r = e(n),
                o = r.data("main-content"),
                i = r,
                a = r.find(".expand-container-button"),
                s = e('[data-detail-content="' + o + '"]'),
                u = s.find(".expand-container-button"); ! h[o] && (h[o] = {
                    index: t,
                    label: o,
                    $main: i,
                    $open: a,
                    $detail: s,
                    $close: u,
                    addstage: {
                        instage: [],
                        outstage: []
                    }
                }),
                s.get(0).addStage = function() {
                    var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : "instage",
                    t = arguments[1];
                    console.log("addstage!!!"),
                    !!t && h[o].addstage[e].push(t)
                },
                0 === t && (g = o)
            }),
            n(),
            I
        }
        function n() {
            e.each(h,
            function(e, t) {
                if (!t.tracked) {
                    t.tracked = !0;
                    var n = t.$open,
                    o = (t.$close, t.label),
                    i = t.index;
                    n.on("click.openContainer", "a", {
                        label: o,
                        index: i
                    },
                    r)
                }
            }),
            b.on("click.closeContainer", "a", i)
        }
        function r(t) {
            if (!e(t.target).data("track")) {
                t.preventDefault();
                var n = t.data;
                setTimeout(function(e) {
                    a(n.label),
                    $ = !0
                })
            }
        }
        function i(e) {
            e.preventDefault(),
            setTimeout(function(e) {
                s(m),
                $ = !0
            })
        }
        function a(t, n) {
            var r = h[t];
            if (m = t, j = S.height(), u(!1), n) return A.addClass("expandc-complete"),
            E.addClass("expandc-animate show-close-btn").css({
                height: ""
            }),
            r.$detail.addClass("current"),
            void(M && (M(), M = null));
            k = C.scrollTop(),
            A.addClass("expandc-open"),
            E.addClass("expandc-animate"),
            r.$detail.addClass("current");
            var o = e("#vivo-head-wrap");
            setTimeout(function(e) {
                hashAlone.clear(),
                hashAlone.add(t),
                E.addClass("expandc-animating"),
                E.css({
                    height: j
                }),
                C.scrollTop(k);
                k >= o.height() && o.height();
                r.addstage.instage.length && r.addstage.instage.forEach(function(e) {
                    return e()
                }),
                T.off(O.end).on(O.end,
                function() {
                    C.scrollTop(0),
                    E.css({
                        height: ""
                    }).removeClass("expandc-animating").addClass("show-close-btn"),
                    A.removeClass("expandc-open").addClass("expandc-complete"),
                    $ = !1,
                    T.off(O.end)
                })
            },
            100)
        }
        function s(e) {
            var t = h[e];
            _ = C.scrollTop(),
            u(!0),
            t.$detail.css({
                marginTop: -_
            }),
            E.css({
                height: j
            }).removeClass("show-close-btn"),
            A.addClass("expandc-close").removeClass("expandc-complete"),
            C.scrollTop(_),
            t.addstage.outstage.length && t.addstage.outstage.forEach(function(e) {
                return e()
            }),
            setTimeout(function(e) {
                E.addClass("expandc-animating"),
                C.scrollTop(k),
                T.off(O.end).on(O.end,
                function() {
                    t.$detail.css({
                        marginTop: ""
                    }).removeClass("current"),
                    A.removeClass("expandc-close"),
                    E.css({
                        height: ""
                    }).removeClass("expandc-animate expandc-animating"),
                    C.scrollTop(k),
                    $ = !1,
                    hashAlone.clear(),
                    T.off(O.end)
                }),
                setTimeout(function(e) {
                    N && N()
                },
                800)
            },
            100)
        }
        function u(t) {
            v.length && e.each(y,
            function(e, n) {
                t ? n.show() : n.hide()
            })
        }
        function c(t) {
            A.hasClass("expandc-complete") && (_ = e(this).scrollTop())
        }
        function l(e) {
            A.hasClass("expandc-complete") && !$ && s(m)
        }
        function f(e) {
            A.hasClass("expandc-complete") && 27 === e.which && s(m)
        }
        if ("undefined" == typeof jQuery) throw new Error("jQuery未引入 (https://jquery.org)");
        var d = {
            DATA_MAIN_HANDLE: "[data-main-content]",
            DATA_DETAIL_HANDLE: "[data-detail-content]",
            MAIN_WRAPPER: ".product-main-wrapper",
            DETAIL_WRAPPER: ".product-detail-wrapper"
        },
        p = {
            WebkitTransition: "webkitTransitionEnd",
            MozTransition: "transitionend",
            OTransition: "oTransitionEnd otransitionend",
            transition: "transitionend"
        },
        h = {},
        g = void 0,
        m = void 0,
        v = [],
        y = null,
        b = null,
        w = null,
        x = null,
        T = null,
        C = e(window),
        S = e(document),
        A = e("html"),
        E = e("body"),
        k = 0,
        j = 0,
        O = void 0,
        $ = !1,
        M = void 0,
        N = null,
        _ = void 0,
        P = {
            getDomObject: function(t, n) {
                if ("object" != (void 0 === t ? "undefined": (0, o.
            default)(t))) return null;
                var r = n || {};
                return t.forEach(function(t) {
                    var n = t.replace(/\.?#?-?/g, "").trim(); ! r[n] && e(t).length && (r[n] = e(t))
                }),
                r
            },
            transitionEndTest: function() {
                var e = document.createElement("uimix");
                for (var t in p) if (void 0 !== e.style[t]) return {
                    end: p[t]
                };
                return ! 1
            }
        },
        I = {
            add: function(e, t) {
                if ("object" === (void 0 === e ? "undefined": (0, o.
            default)(e))) e.forEach(function(e) {
                    v.push(e)
                });
                else {
                    if ("string" != typeof e) throw new Error("✖ add方法，传入参数类型不正确! @param {String | Array}");
                    v.push(e)
                }
                t && "function" == typeof t && (N = t),
                y = P.getDomObject(v, y)
            },
            go: function(e, t) {
                "string" == typeof e && h.hasOwnProperty(e) ? (t && "function" == typeof t && (M = t), a(e, !0)) : (hashAlone.clear(), t && "function" == typeof t && t())
            },
            hide: function(e) {
                "string" == typeof e && h.hasOwnProperty(e) && s(e)
            }
        };
        return C.on("scroll.hideContainerScroll", c).on("hashchange.hashchangeEvents", l),
        S.on("keyup.keyupEvents", f),
        t
    } (jQuery));
    t.
default = i
},
function(e, t) {
    "use strict";
    var n = {
        Linear: function(e, t, n, r) {
            return n * e / r + t
        },
        Quad: {
            easeIn: function(e, t, n, r) {
                return n * (e /= r) * e + t
            },
            easeOut: function(e, t, n, r) {
                return - n * (e /= r) * (e - 2) + t
            },
            easeInOut: function(e, t, n, r) {
                return (e /= r / 2) < 1 ? n / 2 * e * e + t: -n / 2 * (--e * (e - 2) - 1) + t
            }
        },
        Cubic: {
            easeIn: function(e, t, n, r) {
                return n * (e /= r) * e * e + t
            },
            easeOut: function(e, t, n, r) {
                return n * ((e = e / r - 1) * e * e + 1) + t
            },
            easeInOut: function(e, t, n, r) {
                return (e /= r / 2) < 1 ? n / 2 * e * e * e + t: n / 2 * ((e -= 2) * e * e + 2) + t
            }
        },
        Quart: {
            easeIn: function(e, t, n, r) {
                return n * (e /= r) * e * e * e + t
            },
            easeOut: function(e, t, n, r) {
                return - n * ((e = e / r - 1) * e * e * e - 1) + t
            },
            easeInOut: function(e, t, n, r) {
                return (e /= r / 2) < 1 ? n / 2 * e * e * e * e + t: -n / 2 * ((e -= 2) * e * e * e - 2) + t
            }
        },
        Quint: {
            easeIn: function(e, t, n, r) {
                return n * (e /= r) * e * e * e * e + t
            },
            easeOut: function(e, t, n, r) {
                return n * ((e = e / r - 1) * e * e * e * e + 1) + t
            },
            easeInOut: function(e, t, n, r) {
                return (e /= r / 2) < 1 ? n / 2 * e * e * e * e * e + t: n / 2 * ((e -= 2) * e * e * e * e + 2) + t
            }
        },
        Sine: {
            easeIn: function(e, t, n, r) {
                return - n * Math.cos(e / r * (Math.PI / 2)) + n + t
            },
            easeOut: function(e, t, n, r) {
                return n * Math.sin(e / r * (Math.PI / 2)) + t
            },
            easeInOut: function(e, t, n, r) {
                return - n / 2 * (Math.cos(Math.PI * e / r) - 1) + t
            }
        },
        Expo: {
            easeIn: function(e, t, n, r) {
                return 0 == e ? t: n * Math.pow(2, 10 * (e / r - 1)) + t
            },
            easeOut: function(e, t, n, r) {
                return e == r ? t + n: n * (1 - Math.pow(2, -10 * e / r)) + t
            },
            easeInOut: function(e, t, n, r) {
                return 0 == e ? t: e == r ? t + n: (e /= r / 2) < 1 ? n / 2 * Math.pow(2, 10 * (e - 1)) + t: n / 2 * (2 - Math.pow(2, -10 * --e)) + t
            }
        },
        Circ: {
            easeIn: function(e, t, n, r) {
                return - n * (Math.sqrt(1 - (e /= r) * e) - 1) + t
            },
            easeOut: function(e, t, n, r) {
                return n * Math.sqrt(1 - (e = e / r - 1) * e) + t
            },
            easeInOut: function(e, t, n, r) {
                return (e /= r / 2) < 1 ? -n / 2 * (Math.sqrt(1 - e * e) - 1) + t: n / 2 * (Math.sqrt(1 - (e -= 2) * e) + 1) + t
            }
        },
        Elastic: {
            easeIn: function(e, t, n, r, o, i) {
                var a;
                return 0 == e ? t: 1 == (e /= r) ? t + n: (void 0 === i && (i = .3 * r), !o || o < Math.abs(n) ? (a = i / 4, o = n) : a = i / (2 * Math.PI) * Math.asin(n / o), -o * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * r - a) * (2 * Math.PI) / i) + t)
            },
            easeOut: function(e, t, n, r, o, i) {
                var a;
                return 0 == e ? t: 1 == (e /= r) ? t + n: (void 0 === i && (i = .3 * r), !o || o < Math.abs(n) ? (o = n, a = i / 4) : a = i / (2 * Math.PI) * Math.asin(n / o), o * Math.pow(2, -10 * e) * Math.sin((e * r - a) * (2 * Math.PI) / i) + n + t)
            },
            easeInOut: function(e, t, n, r, o, i) {
                var a;
                return 0 == e ? t: 2 == (e /= r / 2) ? t + n: (void 0 === i && (i = r * (.3 * 1.5)), !o || o < Math.abs(n) ? (o = n, a = i / 4) : a = i / (2 * Math.PI) * Math.asin(n / o), e < 1 ? o * Math.pow(2, 10 * (e -= 1)) * Math.sin((e * r - a) * (2 * Math.PI) / i) * -.5 + t: o * Math.pow(2, -10 * (e -= 1)) * Math.sin((e * r - a) * (2 * Math.PI) / i) * .5 + n + t)
            }
        },
        Back: {
            easeIn: function(e, t, n, r, o) {
                return void 0 === o && (o = 1.70158),
                n * (e /= r) * e * ((o + 1) * e - o) + t
            },
            easeOut: function(e, t, n, r, o) {
                return void 0 === o && (o = 1.70158),
                n * ((e = e / r - 1) * e * ((o + 1) * e + o) + 1) + t
            },
            easeInOut: function(e, t, n, r, o) {
                return void 0 === o && (o = 1.70158),
                (e /= r / 2) < 1 ? n / 2 * (e * e * ((1 + (o *= 1.525)) * e - o)) + t: n / 2 * ((e -= 2) * e * ((1 + (o *= 1.525)) * e + o) + 2) + t
            }
        },
        Bounce: {
            easeIn: function(e, t, r, o) {
                return r - n.Bounce.easeOut(o - e, 0, r, o) + t
            },
            easeOut: function(e, t, n, r) {
                return (e /= r) < 1 / 2.75 ? n * (7.5625 * e * e) + t: e < 2 / 2.75 ? n * (7.5625 * (e -= 1.5 / 2.75) * e + .75) + t: e < 2.5 / 2.75 ? n * (7.5625 * (e -= 2.25 / 2.75) * e + .9375) + t: n * (7.5625 * (e -= 2.625 / 2.75) * e + .984375) + t
            },
            easeInOut: function(e, t, r, o) {
                return e < o / 2 ? .5 * n.Bounce.easeIn(2 * e, 0, r, o) + t: .5 * n.Bounce.easeOut(2 * e - o, 0, r, o) + .5 * r + t
            }
        }
    };
    Math.tween = n
},
function(e, t) {
    "use strict";
    Date.now || (Date.now = function() {
        return (new Date).getTime()
    }),
    function() {
        for (var e = ["webkit", "moz"], t = 0; t < e.length && !window.requestAnimationFrame; ++t) {
            var n = e[t];
            window.requestAnimationFrame = window[n + "RequestAnimationFrame"],
            window.cancelAnimationFrame = window[n + "CancelAnimationFrame"] || window[n + "CancelRequestAnimationFrame"]
        }
        if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
            var r = 0;
            window.requestAnimationFrame = function(e) {
                var t = Date.now(),
                n = Math.max(r + 16, t);
                return setTimeout(function() {
                    e(r = n)
                },
                n - t)
            },
            window.cancelAnimationFrame = clearTimeout
        }
    } ()
},
function(e, t, n) { (function(e) {
        function r(e, n) {
            var r = {
                seen: [],
                stylize: i
            };
            return arguments.length >= 3 && (r.depth = arguments[2]),
            arguments.length >= 4 && (r.colors = arguments[3]),
            h(n) ? r.showHidden = n: n && t._extend(r, n),
            w(r.showHidden) && (r.showHidden = !1),
            w(r.depth) && (r.depth = 2),
            w(r.colors) && (r.colors = !1),
            w(r.customInspect) && (r.customInspect = !0),
            r.colors && (r.stylize = o),
            s(r, e, r.depth)
        }
        function o(e, t) {
            var n = r.styles[t];
            return n ? "[" + r.colors[n][0] + "m" + e + "[" + r.colors[n][1] + "m": e
        }
        function i(e, t) {
            return e
        }
        function a(e) {
            var t = {};
            return e.forEach(function(e, n) {
                t[e] = !0
            }),
            t
        }
        function s(e, n, r) {
            if (e.customInspect && n && A(n.inspect) && n.inspect !== t.inspect && (!n.constructor || n.constructor.prototype !== n)) {
                var o = n.inspect(r, e);
                return y(o) || (o = s(e, o, r)),
                o
            }
            var i = u(e, n);
            if (i) return i;
            var h = Object.keys(n),
            g = a(h);
            if (e.showHidden && (h = Object.getOwnPropertyNames(n)), S(n) && (h.indexOf("message") >= 0 || h.indexOf("description") >= 0)) return c(n);
            if (0 === h.length) {
                if (A(n)) {
                    var m = n.name ? ": " + n.name: "";
                    return e.stylize("[Function" + m + "]", "special")
                }
                if (x(n)) return e.stylize(RegExp.prototype.toString.call(n), "regexp");
                if (C(n)) return e.stylize(Date.prototype.toString.call(n), "date");
                if (S(n)) return c(n)
            }
            var v = "",
            b = !1,
            w = ["{", "}"];
            if (p(n) && (b = !0, w = ["[", "]"]), A(n)) {
                v = " [Function" + (n.name ? ": " + n.name: "") + "]"
            }
            if (x(n) && (v = " " + RegExp.prototype.toString.call(n)), C(n) && (v = " " + Date.prototype.toUTCString.call(n)), S(n) && (v = " " + c(n)), 0 === h.length && (!b || 0 == n.length)) return w[0] + v + w[1];
            if (r < 0) return x(n) ? e.stylize(RegExp.prototype.toString.call(n), "regexp") : e.stylize("[Object]", "special");
            e.seen.push(n);
            var T;
            return T = b ? l(e, n, r, g, h) : h.map(function(t) {
                return f(e, n, r, g, t, b)
            }),
            e.seen.pop(),
            d(T, v, w)
        }
        function u(e, t) {
            if (w(t)) return e.stylize("undefined", "undefined");
            if (y(t)) {
                var n = "'" + JSON.stringify(t).replace(/^"|"$/g, "").replace(/'/g, "\\'").replace(/\\"/g, '"') + "'";
                return e.stylize(n, "string")
            }
            return v(t) ? e.stylize("" + t, "number") : h(t) ? e.stylize("" + t, "boolean") : g(t) ? e.stylize("null", "null") : void 0
        }
        function c(e) {
            return "[" + Error.prototype.toString.call(e) + "]"
        }
        function l(e, t, n, r, o) {
            for (var i = [], a = 0, s = t.length; a < s; ++a) $(t, String(a)) ? i.push(f(e, t, n, r, String(a), !0)) : i.push("");
            return o.forEach(function(o) {
                o.match(/^\d+$/) || i.push(f(e, t, n, r, o, !0))
            }),
            i
        }
        function f(e, t, n, r, o, i) {
            var a, u, c;
            if (c = Object.getOwnPropertyDescriptor(t, o) || {
                value: t[o]
            },
            c.get ? u = c.set ? e.stylize("[Getter/Setter]", "special") : e.stylize("[Getter]", "special") : c.set && (u = e.stylize("[Setter]", "special")), $(r, o) || (a = "[" + o + "]"), u || (e.seen.indexOf(c.value) < 0 ? (u = g(n) ? s(e, c.value, null) : s(e, c.value, n - 1), u.indexOf("\n") > -1 && (u = i ? u.split("\n").map(function(e) {
                return "  " + e
            }).join("\n").substr(2) : "\n" + u.split("\n").map(function(e) {
                return "   " + e
            }).join("\n"))) : u = e.stylize("[Circular]", "special")), w(a)) {
                if (i && o.match(/^\d+$/)) return u;
                a = JSON.stringify("" + o),
                a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/) ? (a = a.substr(1, a.length - 2), a = e.stylize(a, "name")) : (a = a.replace(/'/g, "\\'").replace(/\\"/g, '"').replace(/(^"|"$)/g, "'"), a = e.stylize(a, "string"))
            }
            return a + ": " + u
        }
        function d(e, t, n) {
            var r = 0;
            return e.reduce(function(e, t) {
                return r++,
                t.indexOf("\n") >= 0 && r++,
                e + t.replace(/\u001b\[\d\d?m/g, "").length + 1
            },
            0) > 60 ? n[0] + ("" === t ? "": t + "\n ") + " " + e.join(",\n  ") + " " + n[1] : n[0] + t + " " + e.join(", ") + " " + n[1]
        }
        function p(e) {
            return Array.isArray(e)
        }
        function h(e) {
            return "boolean" == typeof e
        }
        function g(e) {
            return null === e
        }
        function m(e) {
            return null == e
        }
        function v(e) {
            return "number" == typeof e
        }
        function y(e) {
            return "string" == typeof e
        }
        function b(e) {
            return "symbol" == typeof e
        }
        function w(e) {
            return void 0 === e
        }
        function x(e) {
            return T(e) && "[object RegExp]" === k(e)
        }
        function T(e) {
            return "object" == typeof e && null !== e
        }
        function C(e) {
            return T(e) && "[object Date]" === k(e)
        }
        function S(e) {
            return T(e) && ("[object Error]" === k(e) || e instanceof Error)
        }
        function A(e) {
            return "function" == typeof e
        }
        function E(e) {
            return null === e || "boolean" == typeof e || "number" == typeof e || "string" == typeof e || "symbol" == typeof e || void 0 === e
        }
        function k(e) {
            return Object.prototype.toString.call(e)
        }
        function j(e) {
            return e < 10 ? "0" + e.toString(10) : e.toString(10)
        }
        function O() {
            var e = new Date,
            t = [j(e.getHours()), j(e.getMinutes()), j(e.getSeconds())].join(":");
            return [e.getDate(), L[e.getMonth()], t].join(" ")
        }
        function $(e, t) {
            return Object.prototype.hasOwnProperty.call(e, t)
        }
        function M(e, t) {
            if (!e) {
                var n = new Error("Promise was rejected with a falsy value");
                n.reason = e,
                e = n
            }
            return t(e)
        }
        function N(t) {
            function n() {
                for (var n = [], r = 0; r < arguments.length; r++) n.push(arguments[r]);
                var o = n.pop();
                if ("function" != typeof o) throw new TypeError("The last argument must be of type Function");
                var i = this,
                a = function() {
                    return o.apply(i, arguments)
                };
                t.apply(this, n).then(function(t) {
                    e.nextTick(a, null, t)
                },
                function(t) {
                    e.nextTick(M, t, a)
                })
            }
            if ("function" != typeof t) throw new TypeError('The "original" argument must be of type Function');
            return Object.setPrototypeOf(n, Object.getPrototypeOf(t)),
            Object.defineProperties(n, _(t)),
            n
        }
        var _ = Object.getOwnPropertyDescriptors ||
        function(e) {
            for (var t = Object.keys(e), n = {},
            r = 0; r < t.length; r++) n[t[r]] = Object.getOwnPropertyDescriptor(e, t[r]);
            return n
        },
        P = /%[sdj%]/g;
        t.format = function(e) {
            if (!y(e)) {
                for (var t = [], n = 0; n < arguments.length; n++) t.push(r(arguments[n]));
                return t.join(" ")
            }
            for (var n = 1,
            o = arguments,
            i = o.length,
            a = String(e).replace(P,
            function(e) {
                if ("%%" === e) return "%";
                if (n >= i) return e;
                switch (e) {
                case "%s":
                    return String(o[n++]);
                case "%d":
                    return Number(o[n++]);
                case "%j":
                    try {
                        return JSON.stringify(o[n++])
                    } catch(e) {
                        return "[Circular]"
                    }
                default:
                    return e
                }
            }), s = o[n]; n < i; s = o[++n]) g(s) || !T(s) ? a += " " + s: a += " " + r(s);
            return a
        },
        t.deprecate = function(n, r) {
            function o() {
                if (!i) {
                    if (e.throwDeprecation) throw new Error(r);
                    e.traceDeprecation ? console.trace(r) : console.error(r),
                    i = !0
                }
                return n.apply(this, arguments)
            }
            if (void 0 !== e && !0 === e.noDeprecation) return n;
            if (void 0 === e) return function() {
                return t.deprecate(n, r).apply(this, arguments)
            };
            var i = !1;
            return o
        };
        var I, D = {};
        t.debuglog = function(n) {
            if (w(I) && (I = e.env.NODE_DEBUG || ""), n = n.toUpperCase(), !D[n]) if (new RegExp("\\b" + n + "\\b", "i").test(I)) {
                var r = e.pid;
                D[n] = function() {
                    var e = t.format.apply(t, arguments);
                    console.error("%s %d: %s", n, r, e)
                }
            } else D[n] = function() {};
            return D[n]
        },
        t.inspect = r,
        r.colors = {
            bold: [1, 22],
            italic: [3, 23],
            underline: [4, 24],
            inverse: [7, 27],
            white: [37, 39],
            grey: [90, 39],
            black: [30, 39],
            blue: [34, 39],
            cyan: [36, 39],
            green: [32, 39],
            magenta: [35, 39],
            red: [31, 39],
            yellow: [33, 39]
        },
        r.styles = {
            special: "cyan",
            number: "yellow",
            boolean: "yellow",
            undefined: "grey",
            null: "bold",
            string: "green",
            date: "magenta",
            regexp: "red"
        },
        t.isArray = p,
        t.isBoolean = h,
        t.isNull = g,
        t.isNullOrUndefined = m,
        t.isNumber = v,
        t.isString = y,
        t.isSymbol = b,
        t.isUndefined = w,
        t.isRegExp = x,
        t.isObject = T,
        t.isDate = C,
        t.isError = S,
        t.isFunction = A,
        t.isPrimitive = E,
        t.isBuffer = n(126);
        var L = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
        t.log = function() {
            console.log("%s - %s", O(), t.format.apply(t, arguments))
        },
        t.inherits = n(127),
        t._extend = function(e, t) {
            if (!t || !T(t)) return e;
            for (var n = Object.keys(t), r = n.length; r--;) e[n[r]] = t[n[r]];
            return e
        };
        var q = "undefined" != typeof Symbol ? Symbol("util.promisify.custom") : void 0;
        t.promisify = function(e) {
            function t() {
                for (var t, n, r = new Promise(function(e, r) {
                    t = e,
                    n = r
                }), o = [], i = 0; i < arguments.length; i++) o.push(arguments[i]);
                o.push(function(e, r) {
                    e ? n(e) : t(r)
                });
                try {
                    e.apply(this, o)
                } catch(e) {
                    n(e)
                }
                return r
            }
            if ("function" != typeof e) throw new TypeError('The "original" argument must be of type Function');
            if (q && e[q]) {
                var t = e[q];
                if ("function" != typeof t) throw new TypeError('The "util.promisify.custom" argument must be of type Function');
                return Object.defineProperty(t, q, {
                    value: t,
                    enumerable: !1,
                    writable: !1,
                    configurable: !0
                }),
                t
            }
            return Object.setPrototypeOf(t, Object.getPrototypeOf(e)),
            q && Object.defineProperty(t, q, {
                value: t,
                enumerable: !1,
                writable: !1,
                configurable: !0
            }),
            Object.defineProperties(t, _(e))
        },
        t.promisify.custom = q,
        t.callbackify = N
    }).call(t, n(118))
},
function(e, t) {
    e.exports = function(e) {
        return e && "object" == typeof e && "function" == typeof e.copy && "function" == typeof e.fill && "function" == typeof e.readUInt8
    }
},
function(e, t) {
    "function" == typeof Object.create ? e.exports = function(e, t) {
        e.super_ = t,
        e.prototype = Object.create(t.prototype, {
            constructor: {
                value: e,
                enumerable: !1,
                writable: !0,
                configurable: !0
            }
        })
    }: e.exports = function(e, t) {
        e.super_ = t;
        var n = function() {};
        n.prototype = t.prototype,
        e.prototype = new n,
        e.prototype.constructor = e
    }
},
function(e, t, n) {
    "use strict";
    function r(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = n(71),
    i = r(o),
    a = n(72),
    s = r(a),
    u = n(76),
    c = r(u),
    l = n(77),
    f = r(l),
    d = n(115),
    p = r(d),
    h = n(116),
    g = r(h),
    m = n(119),
    v = r(m),
    y = function() {
        var e = document,
        t = window,
        n = {
            selector: "data-parallax",
            method: 1,
            type: 2,
            friction: .2,
            accelerate: !1,
            delay: 0,
            offset: 10,
            isrunbreakpoint: !1,
            unmobile: !1,
            breakpoint: {
                xl: 1920,
                lg: 1440,
                md: 1080,
                sm: 720,
                xs: 0
            },
            breakrate: {
                xl: 1,
                lg: .76,
                md: .6,
                sm: .42,
                xs: .3
            }
        };
        return function() {
            function r() {
                var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; (0, i.
            default)(this, r),
                this.Elements = [],
                this.supports = c.
            default.support(),
                this.breakLabel = "lg",
                this.config = (0, p.
            default)({},
                n, t),
                this._elements = e.querySelectorAll("[" + this.config.selector + "]"),
                this._elements.length && this._initElements()
            }
            return (0, s.
        default)(r, [{
                key: "stop",
                value: function() {}
            },
            {
                key: "continue",
                value: function() {}
            },
            {
                key: "_enable",
                value: function() {
                    this.enabled || (this.enabled = !0, 1 === this.config.method && (this.rafHandle = (0, g.
                default)(this._onScrollAnimate.bind(this)), this.updateHandle = (0, g.
                default)(this._updateAnimation.bind(this))))
                }
            },
            {
                key: "_disable",
                value: function() {
                    this.enabled && (this.enabled = !1, 1 === this.config.method && (g.
                default.cancel(this.rafHandle), g.
                default.cancel(this.updateHandle)))
                }
            },
            {
                key: "_initParent",
                value: function(e) {
                    "preserve-3d" !== c.
                default.getCSS(e, "transform-style") && (c.
                default.css(e, "transform", "translate3d(0,0,0)"), c.
                default.css(e, "transform-style", "preserve-3d"), c.
                default.css(e, "backface-visibility", "hidden"))
                }
            },
            {
                key: "_initElements",
                value: function() {
                    var e = this; (0, f.
                default)(this._elements,
                    function(t) {
                        var n = c.
                    default.getData(t, e.config.selector);
                        e.Elements.push({
                            ele: t,
                            data: function(e) {
                                var r = c.
                            default.isType(n, "object") ? (0, p.
                            default)({},
                                e.config, n) : (0, p.
                            default)({},
                                e.config);
                                return r.parent = t.parentNode,
                                r.accelerate && e.supports.transform3d && e._initParent(r.parent),
                                delete r.selector,
                                r
                            } (e)
                        })
                    }),
                    this._onResize(),
                    this._enable(),
                    t.addEventListener("resize", this._onResize.bind(this))
                }
            },
            {
                key: "_setPosition",
                value: function(e) {
                    var t = e.ele,
                    n = e.data,
                    o = e.rate,
                    i = this.config.type,
                    a = {
                        transform: ""
                    };
                    if (n.hasOwnProperty("y") || n.hasOwnProperty("x")) {
                        var s = this.config.isrunbreakpoint ? this.config.breakrate[this.breakLabel] : 1,
                        u = n.hasOwnProperty("y") ? r.getDistance(n.y, o, i) * s: 0,
                        l = n.hasOwnProperty("x") ? r.getDistance(n.x, o, i) * s: 0;
                        this.supports.transform3d ? a.transform += "translate3d(" + l + "px," + u + "px,0) ": this.supports.transform2d && (a.transform += "translate(" + l + "px," + u + "px) ")
                    }
                    if (n.hasOwnProperty("rotate")) {
                        var f = r.getDistance(n.rotate, o, i);
                        a.transform += "rotate(" + f + "deg) "
                    }
                    for (var d in a) c.
                default.css(t, d, a[d])
                }
            },
            {
                key: "_getBreakpoint",
                value: function() {
                    var e = t.innerWidth;
                    for (var n in this.config.breakpoint) if (e > this.config.breakpoint[n]) {
                        this.breakLabel = n;
                        break
                    }
                }
            },
            {
                key: "_getDimensions",
                value: function() {}
            },
            {
                key: "_getBounds",
                value: function() {}
            },
            {
                key: "_onDeviceOrientation",
                value: function() {}
            },
            {
                key: "_onDeviceMotion",
                value: function() {}
            },
            {
                key: "_onMouseMove",
                value: function() {}
            },
            {
                key: "_onScroll",
                value: function() {}
            },
            {
                key: "_onResize",
                value: function() {
                    this._getBreakpoint()
                }
            },
            {
                key: "_onRotate",
                value: function() {}
            },
            {
                key: "_onAnimation",
                value: function() {}
            },
            {
                key: "_updateAnimation",
                value: function() {
                    var e = this; (0, f.
                default)(this.Elements,
                    function(t, n) {
                        var r = t.ele,
                        o = t.data,
                        i = t.running;
                        if (i.visible) {
                            if (o.unmobile && "xs" === e.breakLabel) return void c.
                        default.setAttribute(r, "style", "");
                            i.currentRate !== i.rate && (!i.currentRate && (i.currentRate = i.rate), i.currentRate += (i.rate - i.currentRate) * e.config.friction, e._setPosition({
                                ele: r,
                                data: o,
                                rate: i.currentRate
                            }), e.Elements.running = i)
                        }
                    }),
                    this.updateHandle = (0, g.
                default)(this._updateAnimation.bind(this))
                }
            },
            {
                key: "_onScrollAnimate",
                value: function() {
                    var e = this; (0, f.
                default)(this.Elements,
                    function(n, r) {
                        var o = n.ele,
                        i = n.data,
                        a = n.running;
                        if (c.
                    default.isType(a, "undefined") && (a = {}), c.
                    default.visible(o)) {
                            var s = i.parent.getBoundingClientRect();
                            if (o.resetPos === s.top) return;
                            if (s.top <= t.innerHeight + parseFloat(i.offset) && s.bottom >= -parseFloat(i.offset)) {
                                var u = 1 - (s.bottom + parseFloat(i.offset)) / (s.height + t.innerHeight + parseFloat(2 * i.offset));
                                a.rate = u,
                                a.visible = !0
                            }
                            s.top > t.innerHeight + parseFloat(i.offset) && (a.rate = 0),
                            s.bottom < -parseFloat(i.offset) && (a.rate = 1),
                            o.resetPos = s.top
                        } else a.visible = !1;
                        e.Elements[r].running = a
                    }),
                    this.rafHandle = (0, g.
                default)((0, v.
                default)(this._onScrollAnimate.bind(this), this.config.delay))
                }
            }], [{
                key: "getDistance",
                value: function(e, t, n) {
                    return e > 0 ? e - e * n * t: e + Math.abs(e) * n * t
                }
            }]),
            r
        } ()
    } ();
    t.
default = y
},
function(e, t) {
    "use strict";
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var n = arguments;
    window.addEventListener("scroll",
    function() {
        window.lastScrollTime = (new Date).getTime()
    });
    var r = {},
    o = {},
    i = {},
    a = {},
    s = {},
    u = function(e) {
        var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; ($(e).hasClass("fade-in") || 1 === Number($(e).css("opacity")) || t) && $(e).removeClass("fade-in").addClass("fade-out")
    },
    c = function(e) {
        var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; ($(e).hasClass("fade-out") || 0 === Number($(e).css("opacity")) || t) && $(e).removeClass("fade-out").addClass("fade-in")
    },
    l = function(e, t) {
        e.each(function(e, n) {
            e === t && $(n).find(".inner-bar").addClass("progressing"),
            e < t && $(n).find(".inner-bar").removeClass("progressing"),
            e > t && $(n).find(".inner-bar").removeClass("progressing")
        })
    },
    f = function(e, t) {
        e.each(function(e, n) {
            e === t && $(n).addClass("active"),
            e < t && $(n).removeClass("active"),
            e > t && $(n).removeClass("active")
        })
    },
    d = function(e, t, n, r) {
        1 === e.length ? (setTimeout(function() {
            $(e[n]).removeClass("zoom-in")
        },
        400), setTimeout(function() {
            $(e[t]).find(".border").length && $(e[t]).addClass("zoom-in")
        },
        2e3)) : (void 0 !== n && (u($(e[n]).find(".wrapper figure")), setTimeout(function() {
            $(e[n]).removeClass("zoom-in")
        },
        400)), c($(e[t]).find(".wrapper figure"), !1), setTimeout(function() {
            $(e[t]).find(".border").length && $(e[t]).addClass("zoom-in")
        },
        2e3))
    },
    p = function(e, t, u) {
        if (Modernizr.ie || !$(e)[0].isInit) {
            var c = 0,
            u = (n.length > 1 && void 0 !== n[1] && n[1], n.length > 2 && void 0 !== n[2] && n[2]),
            p = function() {
                return d(h, m, c),
                l(g, m),
                f($(e).find(".banner-title"), m),
                $(e).trigger("switch.pass", m),
                setInterval(function() {
                    if (window.lastScrollTime && (new Date).getTime() > window.lastScrollTime + 1) {
                        var t = m;
                        m += 1,
                        m %= h.length,
                        $(e).trigger("switch.pass", m),
                        d(h, m, t),
                        l(g, m),
                        u && (function(e, t) {
                            $(e).removeClass("active-0 active-1 active-2 active-3").addClass("active-".concat(t))
                        } (e, m), f($(e).find(".banner-title"), m))
                    }
                },
                3500)
            },
            h = ($(e).find(".image-wrapper"), $(e).find(".photo")),
            g = $(e).find(".status .bar"),
            m = 0;
            $(e).on("switch.pass",
            function() {
                "function" == typeof $(this)[0].switchCallback && $(this)[0].switchCallback(m)
            });
            var v = p();
            $(e).find(".left").on("click",
            function() {
                clearInterval(v),
                c = m,
                (m -= 1) < 0 && (m = $pohto.length - 1),
                m %= $pohto.length,
                v = p()
            }),
            $(e).find(".right").on("click",
            function() {
                clearInterval(v),
                c = m,
                m += 1,
                m %= $pohto.length,
                v = p()
            }),
            u && $(e).find(".banner-title").each(function(e, t) {
                $(t).on("click",
                function() {
                    clearInterval(v),
                    c = m,
                    m = e,
                    v = p()
                })
            }),
            function(t, n) {
                document.querySelector(t).removeEventListener("mousedown", r[t]),
                document.querySelector(t).removeEventListener("mousemove", o[t]),
                document.querySelector(t).removeEventListener("mouseup", s[t]),
                document.querySelector(t).removeEventListener("touchstart", i[t]),
                document.querySelector(t).removeEventListener("touchmove", a[t]),
                document.querySelector(t).removeEventListener("touchend", s[t]),
                document.querySelector(t).removeEventListener("touchcancel", s[t]);
                var u = null,
                c = null,
                l = null,
                f = null,
                d = !1,
                p = {
                    up: !1,
                    down: !1,
                    left: !1,
                    right: !1
                };
                r[t] = function(e) {
                    u = e.pageY,
                    l = e.pageX,
                    c = null,
                    f = null,
                    ["up", "down", "left", "right"].forEach(function(e) {
                        n[e] && n[e].startJudge ? p[e] = n[e].startJudge() : p[e] = !0
                    })
                },
                o[t] = function(e) {
                    c = e.pageY - u,
                    f = e.pageX - l
                },
                i[t] = function(e) {
                    u = e.touches[0].pageY,
                    l = e.touches[0].pageX,
                    c = null,
                    f = null,
                    ["up", "down", "left", "right"].forEach(function(e) {
                        n[e] && n[e].startJudge ? p[e] = n[e].startJudge() : p[e] = !0
                    })
                },
                a[t] = function(e) {
                    c = e.touches[0].pageY - u,
                    f = e.touches[0].pageX - l
                },
                s[t] = function() {
                    d || (n.up && c < -n.up.threshold && p.up && (n.up.handle(), d = !0, setTimeout(function() {
                        d = !1
                    },
                    n.up.handleTime)), n.down && c > n.down.threshold && p.down && (n.down.handle(), d = !0, setTimeout(function() {
                        d = !1
                    },
                    n.down.handleTime)), n.left && f < -n.left.threshold && p.left && (n.left.handle(), d = !0, setTimeout(function() {
                        d = !1
                    },
                    n.left.handleTime)), n.right && f > n.right.threshold && p.right && (n.right.handle(), d = !0, setTimeout(function() {
                        d = !1
                    },
                    n.right.handleTime)))
                },
                document.querySelector(t).addEventListener("mousedown", r[t]),
                document.querySelector(t).addEventListener("mousemove", o[t]),
                document.querySelector(t).addEventListener("mouseup", s[t]),
                document.querySelector(t).addEventListener("touchstart", i[t]),
                document.querySelector(t).addEventListener("touchmove", a[t]),
                document.querySelector(t).addEventListener("touchend", s[t]),
                document.querySelector(t).addEventListener("touchcancel", s[t]),
                Modernizr.ie || ($(e)[0].isInit = !0)
            } (e, {
                left: {
                    threshold: 40,
                    handle: function() {
                        clearInterval(v),
                        c = m,
                        m += 1,
                        m %= h.length,
                        v = p()
                    },
                    handleTime: 400
                },
                right: {
                    threshold: 40,
                    handle: function() {
                        clearInterval(v),
                        c = m,
                        (m -= 1) < 0 && (m = h.length - 1),
                        m %= h.length,
                        v = p()
                    },
                    handleTime: 400
                }
            }),
            window.lastScrollTime = (new Date).getTime()
        }
    };
    t.
default = p
},
function(e, t, n) {
    var r, o, i, a = n(4),
    s = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (a); !
    function(n, a) {
        "object" === (0, s.
    default)(t) && void 0 !== e ? a(t) : (o = [t], r = a, void 0 !== (i = "function" == typeof r ? r.apply(t, o) : r) && (e.exports = i))
    } (0,
    function(e) {
        "use strict";
        function t(e, t, n, r, o, i, a) {
            for (var s, u, c, l, f, d = e.length; --d > -1;) for (s = e[d], u = s.length, c = 0; c < u; c += 2) l = s[c],
            f = s[c + 1],
            s[c] = l * t + f * r + i,
            s[c + 1] = l * n + f * o + a;
            return e._dirty = 1,
            e
        }
        function n(e, t, n, r, o, i, a, s, u) {
            if (e !== s || t !== u) {
                n = d(n),
                r = d(r);
                var h = o % 360 * c,
                g = f(h),
                m = l(h),
                v = Math.PI,
                y = 2 * v,
                b = (e - s) / 2,
                w = (t - u) / 2,
                x = g * b + m * w,
                T = -m * b + g * w,
                C = x * x,
                S = T * T,
                A = C / (n * n) + S / (r * r);
                A > 1 && (n = p(A) * n, r = p(A) * r);
                var E = n * n,
                k = r * r,
                j = (E * k - E * S - k * C) / (E * S + k * C);
                j < 0 && (j = 0);
                var O = (i === a ? -1 : 1) * p(j),
                $ = O * (n * T / r),
                M = O * ( - r * x / n),
                N = (e + s) / 2,
                _ = (t + u) / 2,
                P = N + (g * $ - m * M),
                I = _ + (m * $ + g * M),
                D = (x - $) / n,
                L = (T - M) / r,
                q = ( - x - $) / n,
                H = ( - T - M) / r,
                R = D * D + L * L,
                F = (L < 0 ? -1 : 1) * Math.acos(D / p(R)),
                z = (D * H - L * q < 0 ? -1 : 1) * Math.acos((D * q + L * H) / p(R * (q * q + H * H)));
                isNaN(z) && (z = v),
                !a && z > 0 ? z -= y: a && z < 0 && (z += y),
                F %= y,
                z %= y;
                var B, W = Math.ceil(d(z) / (y / 4)),
                U = [],
                G = z / W,
                V = 4 / 3 * l(G / 2) / (1 + f(G / 2)),
                X = g * n,
                J = m * n,
                Q = m * -r,
                Y = g * r;
                for (B = 0; B < W; B++) o = F + B * G,
                x = f(o),
                T = l(o),
                D = f(o += G),
                L = l(o),
                U.push(x - V * T, T + V * x, D + V * L, L - V * D, D, L);
                for (B = 0; B < U.length; B += 2) x = U[B],
                T = U[B + 1],
                U[B] = x * X + T * Q + P,
                U[B + 1] = x * J + T * Y + I;
                return U[B - 2] = s,
                U[B - 1] = u,
                U
            }
        }
        function r(e) {
            var t, r, o, i, a, c, l, f, p, h, g, m, v, y, b, w = (e + "").replace(u,
            function(e) {
                var t = +e;
                return t < 1e-4 && t > -1e-4 ? 0 : t
            }).match(s) || [],
            x = [],
            T = 0,
            C = 0,
            S = w.length,
            A = 0,
            E = "ERROR: malformed path: " + e,
            k = function(e, t, n, r) {
                h = (n - e) / 3,
                g = (r - t) / 3,
                l.push(e + h, t + g, n - h, r - g, n, r)
            };
            if (!e || !isNaN(w[0]) || isNaN(w[1])) return console.log(E),
            x;
            for (t = 0; t < S; t++) if (v = a, isNaN(w[t]) ? (a = w[t].toUpperCase(), c = a !== w[t]) : t--, o = +w[t + 1], i = +w[t + 2], c && (o += T, i += C), t || (f = o, p = i), "M" === a) l && (l.length < 8 ? x.length -= 1 : A += l.length),
            T = f = o,
            C = p = i,
            l = [o, i],
            x.push(l),
            t += 2,
            a = "L";
            else if ("C" === a) l || (l = [0, 0]),
            c || (T = C = 0),
            l.push(o, i, T + 1 * w[t + 3], C + 1 * w[t + 4], T += 1 * w[t + 5], C += 1 * w[t + 6]),
            t += 6;
            else if ("S" === a) h = T,
            g = C,
            "C" !== v && "S" !== v || (h += T - l[l.length - 4], g += C - l[l.length - 3]),
            c || (T = C = 0),
            l.push(h, g, o, i, T += 1 * w[t + 3], C += 1 * w[t + 4]),
            t += 4;
            else if ("Q" === a) h = T + 2 / 3 * (o - T),
            g = C + 2 / 3 * (i - C),
            c || (T = C = 0),
            T += 1 * w[t + 3],
            C += 1 * w[t + 4],
            l.push(h, g, T + 2 / 3 * (o - T), C + 2 / 3 * (i - C), T, C),
            t += 4;
            else if ("T" === a) h = T - l[l.length - 4],
            g = C - l[l.length - 3],
            l.push(T + h, C + g, o + 2 / 3 * (T + 1.5 * h - o), i + 2 / 3 * (C + 1.5 * g - i), T = o, C = i),
            t += 2;
            else if ("H" === a) k(T, C, T = o, C),
            t += 1;
            else if ("V" === a) k(T, C, T, C = o + (c ? C - T: 0)),
            t += 1;
            else if ("L" === a || "Z" === a)"Z" === a && (o = f, i = p, l.closed = !0),
            ("L" === a || d(T - o) > .5 || d(C - i) > .5) && (k(T, C, o, i), "L" === a && (t += 2)),
            T = o,
            C = i;
            else if ("A" === a) {
                if (y = w[t + 4], b = w[t + 5], h = w[t + 6], g = w[t + 7], r = 7, y.length > 1 && (y.length < 3 ? (g = h, h = b, r--) : (g = b, h = y.substr(2), r -= 2), b = y.charAt(1), y = y.charAt(0)), m = n(T, C, +w[t + 1], +w[t + 2], +w[t + 3], +y, +b, (c ? T: 0) + 1 * h, (c ? C: 0) + 1 * g), t += r, m) for (r = 0; r < m.length; r++) l.push(m[r]);
                T = l[l.length - 2],
                C = l[l.length - 1]
            } else console.log(E);
            return t = l.length,
            t < 6 ? (x.pop(), t = 0) : l[0] === l[t - 2] && l[1] === l[t - 1] && (l.closed = !0),
            x.totalPoints = A + t,
            x
        }
        function o(e) {
            h(e[0]) && (e = [e]);
            var t, n, r, o, i = "",
            a = e.length;
            for (n = 0; n < a; n++) {
                for (o = e[n], i += "M" + g(o[0]) + "," + g(o[1]) + " C", t = o.length, r = 2; r < t; r++) i += g(o[r++]) + "," + g(o[r++]) + " " + g(o[r++]) + "," + g(o[r++]) + " " + g(o[r++]) + "," + g(o[r]) + " ";
                o.closed && (i += "z")
            }
            return i
        }
        var i, a, s = /[achlmqstvz]|(-?\d*\.?\d*(?:e[\-+]?\d+)?)[0-9]/gi,
        u = /[\+\-]?\d*\.?\d+e[\+\-]?\d+/gi,
        c = Math.PI / 180,
        l = Math.sin,
        f = Math.cos,
        d = Math.abs,
        p = Math.sqrt,
        h = function(e) {
            return "number" == typeof e
        },
        g = function(e) {
            return Math.round(1e5 * e) / 1e5 || 0
        },
        m = function() {
            return i || "undefined" != typeof window && (i = window.gsap) && i.registerPlugin && i
        },
        v = function() {
            i = m(),
            i ? (i.registerEase("_CE", S.create), a = 1) : console.warn("Please gsap.registerPlugin(CustomEase)")
        },
        y = function(e) {
            return~~ (1e3 * e + (e < 0 ? -.5 : .5)) / 1e3
        },
        b = /[-+=\.]*\d+[\.e\-\+]*\d*[e\-\+]*\d*/gi,
        w = /[cLlsSaAhHvVtTqQ]/g,
        x = function(e) {
            var t, n = e.length,
            r = 1e20;
            for (t = 1; t < n; t += 6) + e[t] < r && (r = +e[t]);
            return r
        },
        T = function(e, t, n) {
            n || 0 === n || (n = Math.max( + e[e.length - 1], +e[1]));
            var r, o = -1 * +e[0],
            i = -n,
            a = e.length,
            s = 1 / ( + e[a - 2] + o),
            u = -t || (Math.abs( + e[a - 1] - +e[1]) < .01 * ( + e[a - 2] - +e[0]) ? x(e) + i: +e[a - 1] + i);
            for (u = u ? 1 / u: -s, r = 0; r < a; r += 2) e[r] = ( + e[r] + o) * s,
            e[r + 1] = ( + e[r + 1] + i) * u
        },
        C = function e(t, n, r, o, i, a, s, u, c, l, f) {
            var d, p = (t + r) / 2,
            h = (n + o) / 2,
            g = (r + i) / 2,
            m = (o + a) / 2,
            v = (i + s) / 2,
            y = (a + u) / 2,
            b = (p + g) / 2,
            w = (h + m) / 2,
            x = (g + v) / 2,
            T = (m + y) / 2,
            C = (b + x) / 2,
            S = (w + T) / 2,
            A = s - t,
            E = u - n,
            k = Math.abs((r - s) * E - (o - u) * A),
            j = Math.abs((i - s) * E - (a - u) * A);
            return l || (l = [{
                x: t,
                y: n
            },
            {
                x: s,
                y: u
            }], f = 1),
            l.splice(f || l.length - 1, 0, {
                x: C,
                y: S
            }),
            (k + j) * (k + j) > c * (A * A + E * E) && (d = l.length, e(t, n, p, h, b, w, C, S, c, l, f), e(C, S, x, T, v, y, s, u, c, l, f + 1 + (l.length - d))),
            l
        },
        S = function() {
            function e(e, t, n) {
                a || v(),
                this.id = e,
                this.setData(t, n)
            }
            var n = e.prototype;
            return n.setData = function(e, t) {
                t = t || {},
                e = e || "0,0,1,1";
                var n, o, a, s, u, c, l, f, d, p = e.match(b),
                h = 1,
                g = [],
                m = [],
                v = t.precision || 1,
                y = v <= 1;
                if (this.data = e, (w.test(e) || ~e.indexOf("M") && e.indexOf("C") < 0) && (p = r(e)[0]), 4 === (n = p.length)) p.unshift(0, 0),
                p.push(1, 1),
                n = 8;
                else if ((n - 2) % 6) throw "Invalid CustomEase";
                for (0 == +p[0] && 1 == +p[n - 2] || T(p, t.height, t.originY), this.segment = p, s = 2; s < n; s += 6) o = {
                    x: +p[s - 2],
                    y: +p[s - 1]
                },
                a = {
                    x: +p[s + 4],
                    y: +p[s + 5]
                },
                g.push(o, a),
                C(o.x, o.y, +p[s], +p[s + 1], +p[s + 2], +p[s + 3], a.x, a.y, 1 / (2e5 * v), g, g.length - 1);
                for (n = g.length, s = 0; s < n; s++) l = g[s],
                f = g[s - 1] || l,
                (l.x > f.x || f.y !== l.y && f.x === l.x || l === f) && l.x <= 1 ? (f.cx = l.x - f.x, f.cy = l.y - f.y, f.n = l, f.nx = l.x, y && s > 1 && Math.abs(f.cy / f.cx - g[s - 2].cy / g[s - 2].cx) > 2 && (y = 0), f.cx < h && (f.cx ? h = f.cx: (f.cx = .001, s === n - 1 && (f.x -= .001, h = Math.min(h, .001), y = 0)))) : (g.splice(s--, 1), n--);
                if (n = 1 / h + 1 | 0, u = 1 / n, c = 0, l = g[0], y) {
                    for (s = 0; s < n; s++) d = s * u,
                    l.nx < d && (l = g[++c]),
                    o = l.y + (d - l.x) / l.cx * l.cy,
                    m[s] = {
                        x: d,
                        cx: u,
                        y: o,
                        cy: 0,
                        nx: 9
                    },
                    s && (m[s - 1].cy = o - m[s - 1].y);
                    m[n - 1].cy = g[g.length - 1].y - o
                } else {
                    for (s = 0; s < n; s++) l.nx < s * u && (l = g[++c]),
                    m[s] = l;
                    c < g.length - 1 && (m[s - 1] = g[g.length - 2])
                }
                return this.ease = function(e) {
                    var t = m[e * n | 0] || m[n - 1];
                    return t.nx < e && (t = t.n),
                    t.y + (e - t.x) / t.cx * t.cy
                },
                this.ease.custom = this,
                this.id && i.registerEase(this.id, this.ease),
                this
            },
            n.getSVGData = function(t) {
                return e.getSVGData(this, t)
            },
            e.create = function(t, n, r) {
                return new e(t, n, r).ease
            },
            e.register = function(e) {
                i = e,
                v()
            },
            e.get = function(e) {
                return i.parseEase(e)
            },
            e.getSVGData = function(n, r) {
                r = r || {};
                var a, s, u, c, l, f, d, p, h, g, m = r.width || 100,
                v = r.height || 100,
                b = r.x || 0,
                w = (r.y || 0) + v,
                x = i.utils.toArray(r.path)[0];
                if (r.invert && (v = -v, w = 0), "string" == typeof n && (n = i.parseEase(n)), n.custom && (n = n.custom), n instanceof e) a = o(t([n.segment], m, 0, 0, -v, b, w));
                else {
                    for (a = [b, w], d = Math.max(5, 200 * (r.precision || 1)), c = 1 / d, d += 2, p = 5 / d, h = y(b + c * m), g = y(w + n(c) * -v), s = (g - w) / (h - b), u = 2; u < d; u++) l = y(b + u * c * m),
                    f = y(w + n(u * c) * -v),
                    (Math.abs((f - g) / (l - h) - s) > p || u === d - 1) && (a.push(h, g), s = (f - g) / (l - h)),
                    h = l,
                    g = f;
                    a = "M" + a.join(",")
                }
                return x && x.setAttribute("d", a),
                a
            },
            e
        } ();
        m() && i.registerPlugin(S),
        S.version = "3.6.1",
        e.CustomEase = S,
        e.
    default = S,
        Object.defineProperty(e, "__esModule", {
            value: !0
        })
    })
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 768 && Modernizr.mobile, $(".tws2-kv")),
        n = gsap.timeline();
        n.to(t, 1, {
            opacity: 0
        }),
        ScrollTrigger.create({
            animation: n,
            trigger: t,
            scrub: !0,
            start: "top 10%",
            end: "bottom top"
        })
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 1e3 && e > 768),
        n = e <= 768,
        r = $(".tws2-smart"),
        o = (r.find(".sticky-box"), r.find(".section1")),
        i = r.find(".section2"),
        a = r.find(".section3"),
        s = r.find(".section4"),
        u = r.find(".section5"),
        c = r.find(".mask"),
        l = (r.find(".intro-special"), $(".film-mask")),
        f = (l.find("video"), l.find(".close"), r.find(".figure")),
        d = f.find(".f1"),
        p = (r.find(".figure-box"), "lg"),
        h = void 0,
        g = void 0; (t || n) && (p = "xs");
        var m = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".tws2-small-title").offset().top
        },
        v = '<picture class="video lazy-imageom">\n                    <video autoplay="autoplay" loop="loop" muted="true" playsinline="true" webkit-playsinline="true">\n                        <source src="' + IMAGE_HOST + "images/tws2-smart-outvideo-" + p + '.mp4" type="video/mp4">\n                    </video>\n                </picture>';
        h = setInterval(function() {
            m(r) && (f.prepend(v), g = f.find(".video"), y(), clearInterval(h))
        });
        var y = function() {
            t || n ? Modernizr.android ? (g.css("display", "none"), d.css("display", "block")) : (g.css("display", "block"), d.css("display", "none")) : g.css("display", "block")
        },
        b = (gsap.timeline(), gsap.timeline());
        gsap.timeline();
        b.to(c, 1, {
            opacity: .5
        }).to(o, 1, {
            y: "-80%"
        },
        "-=.5").from(u, 1, {
            autoAlpha: 0,
            y: 100
        },
        "-=1").from(o, .5, {
            autoAlpha: 0
        },
        "-=1").to(o, .5, {
            autoAlpha: 0
        },
        "-=.5").from(i, .5, {
            autoAlpha: 0
        }).to(i, 1, {
            y: "-80%"
        },
        "-=.5").to(i, .5, {
            autoAlpha: 0
        },
        "-=.5").from(a, .5, {
            autoAlpha: 0
        }).to(a, 1, {
            y: "-80%"
        },
        "-=.5").to(a, .5, {
            autoAlpha: 0
        },
        "-=.5").from(s, .5, {
            autoAlpha: 0
        }).to(s, 1, {
            y: "-80%"
        },
        "-=.5").to(s, .5, {
            autoAlpha: 0
        },
        "-=.5").to(u, 1, {
            autoAlpha: 0
        },
        "-=.5"),
        ScrollTrigger.create({
            animation: b,
            trigger: r,
            start: "top top",
            end: "bottom 70%",
            scrub: !0,
            anticipatePin: 1
        })
    };
    e.exports = n
},
function(e, t, n) {
    "use strict";
    var r = n(130),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r),
    i = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 1e3 && e > 768),
        n = e <= 768 && Modernizr.mobile,
        r = $(".tws2-hd"),
        i = ($(".tws2-hd-box"), r.find(".sticky-box"), r.find(".figure-box")),
        a = r.find(".figure"),
        s = r.find(".section1"),
        u = r.find(".section2"),
        c = u.find(".title"),
        l = r.find(".mask"),
        f = (c.find(".learn-more"), r.find(".tws2-hd-animate-box")),
        d = (gsap.timeline(), gsap.timeline()),
        p = "lg"; (t || n) && (p = "xs");
        var h = void 0,
        g = void 0,
        m = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".tws2-dream").offset().top
        },
        v = '<picture class="video lazy-imageom">\n                <video autoplay="autoplay" loop="loop" muted="muted" playsinline="true" webkit-playsinline="true">\n                    <source src="' + IMAGE_HOST + "images/tws2-hd-video-" + p + '.mp4" type="video/mp4">\n                </video>\n            </picture>';
        g = setInterval(function() {
            m(r) && (f.prepend(v), h = f.find(".video"), y(), clearInterval(g))
        },
        60);
        var y = function() {
            t || n ? Modernizr.android ? (h.css("display", "none"), f.find(".tws2-hd-video-img").attr("src", IMAGE_HOST + "images/tws2-hd-video-mb.jpg"), f.find(".tws2-hd-video-img").css("display", "block")) : (h.css("display", "block"), f.find(".tws2-hd-video-img").css("display", "none")) : h.css("display", "block")
        };
        if (!n && !t) {
            d.from(l, 1, {
                autoAlpha: 0
            }).to(s, 1, {
                y: "-60%"
            },
            "-=1").from(s, .5, {
                autoAlpha: 0
            },
            "-=1").to(s, .5, {
                autoAlpha: 0
            },
            "-=.5").to(u, 1, {
                autoAlpha: 1,
                y: "-20%"
            }),
            ScrollTrigger.create({
                animation: d,
                trigger: r,
                start: "top top",
                end: "95% bottom",
                scrub: !0,
                anticipatePin: 1
            });
            var b = gsap.timeline();
            b.from(a, 1, {
                opacity: 0
            }),
            ScrollTrigger.create({
                animation: b,
                trigger: a,
                scrub: !0,
                start: "top bottom",
                end: "bottom bottom",
                anticipatePin: 1
            })
        }
        var w = gsap.timeline();
        w.to(i, 1, {
            opacity: 0
        },
        "+=4").to(c, 1, {
            opacity: 0
        },
        "-=1"),
        ScrollTrigger.create({
            animation: w,
            trigger: r,
            scrub: !0,
            start: "top 97%",
            end: "bottom top",
            anticipatePin: 1
        });
        var x = gsap.timeline();
        x.to(f, 1, {
            width: "120%",
            height: "120%"
        }),
        ScrollTrigger.create({
            animation: x,
            trigger: r,
            scrub: !0,
            start: "top center",
            end: "top 20%",
            anticipatePin: 1
        });
        var T = r.find(".linear-modal"),
        C = r.find(".modal-container"),
        S = (document.querySelector(".linear-modal-scroll"), r.find(".linear-modal-backdoor")),
        A = r.find(".linear-open-modal"),
        E = r.find(".linear-close-modal");
        A.click(function() {
            r.addClass("active"),
            $("body").css({
                overflow: "hidden"
            }),
            gsap.from(T, .1, {
                opacity: 0
            }),
            gsap.from(S, 1, {
                opacity: 0
            }),
            gsap.to(C, {
                duration: .8,
                ease: o.
            default.create("custom", "M0,0 C0.118,0.374 0.168,0.412 0.288,1 0.4,1.418 0.472,1.234 0.626,1.024 0.696,0.908 1,1 1,1 "),
                scale: 1
            })
        }),
        E.click(function() {
            r.removeClass("active"),
            $("body").css({
                overflow: "visible"
            }),
            gsap.to(T, .5, {
                opacity: 1
            }),
            gsap.to(S, .5, {
                opacity: 1
            }),
            gsap.to(C, .5, {
                scale: 0
            })
        })
    };
    e.exports = i
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 1e3 && e > 768),
        n = e <= 768 && Modernizr.mobile,
        r = $(".tws2-ears"),
        o = $(".tws2-ears-box"),
        i = $(".film-mask"),
        a = i.find("video"),
        s = $(".tws2-ears-title"),
        u = s.find(".text"),
        c = (i.find(".close"), r.find(".intro-special"), r.find(".figure-box1")),
        l = c.find(".figure"),
        f = l.find(".f1"),
        d = "lg",
        p = void 0,
        h = void 0;
        a.css("width", "100%"),
        a.css("background-size", "cover"),
        (t || n) && (d = "xs");
        var g = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".ears-positions").offset().top
        },
        m = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".ears-position").offset().top
        },
        v = '<picture class="video lazy-imageom">\n                        <video autoplay="autoplay" loop="loop" muted="muted" playsinline="true" webkit-playsinline="true">\n                            <source src="' + IMAGE_HOST + "images/tws2-ears-outvideo-" + d + '.mp4" type="video/mp4">\n                        </video>\n                    </picture>';
        p = setInterval(function() {
            m(r) && (l.prepend(v), h = l.find(".video"), b(), clearInterval(p))
        }),
        setInterval(function() {
            g(o) ? s.addClass("show") : s.removeClass("show")
        });
        var y = gsap.timeline();
        y.to(u, 1, {
            y: "-50%"
        }).from(u, .5, {
            opacity: 0,
            scale: .8
        },
        "-=0.92").to(u, .5, {
            opacity: 0
        },
        "-=.5"),
        ScrollTrigger.create({
            animation: y,
            trigger: o,
            scrub: !0,
            start: "top 60%",
            end: "bottom 50%",
            anticipatePin: 1,
            onUpdate: function(e) {
                e.progress > .25 ? s.addClass("tws2-ears-bgc") : s.removeClass("tws2-ears-bgc")
            }
        });
        var b = function() {
            t || n ? Modernizr.android ? (h.css("display", "none"), f.css("display", "block")) : (h.css("display", "block"), f.css("display", "none")) : h.css("display", "block")
        },
        w = gsap.timeline();
        w.to(c, 1, {
            opacity: 0
        }),
        ScrollTrigger.create({
            animation: w,
            trigger: r,
            scrub: !0,
            start: "bottom 60%",
            end: "bottom -10%",
            anticipatePin: 1
        })
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e > 1920),
        n = e <= 1920 && e > 1440,
        r = e <= 1440 && e > 1e3,
        o = e <= 1e3 && e > 768,
        i = e <= 768 && Modernizr.mobile,
        a = $(".tws2-breath"),
        s = a.find(".tws2-breath-animate-box"),
        u = a.find(".section"),
        c = u.find(".title"),
        l = a.find(".tws2-breath-animate").get(0),
        f = l.getContext("2d"),
        d = void 0,
        p = void 0,
        h = void 0,
        g = !0;
        n ? (d = 900, p = 450) : t ? (d = 1200, p = 600) : r ? (d = 600, p = 300) : (o || i) && (d = 420, p = 210),
        o || i ? (l.width = 4 * d, l.height = 4 * p, f.scale(4, 4)) : (l.width = 2 * d, l.height = 2 * p, f.scale(2, 2)),
        f.clearRect(0, 0, d, p);
        var m = {
            curImg: 0
        },
        v = [],
        y = function() {
            for (var e = 0; e <= 126; e++) v[e] = new Image,
            v[e].src = IMAGE_HOST + "images/tws2-breath-lg_" + e + ".jpg";
            a.find(".tws2-breath-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-breath-lg_0.jpg)")
        },
        b = function(e) {
            return $(window).scrollTop() >= $(".tws2-small").offset().top && $(window).scrollTop() <= $(".breath-position").offset().top
        };
        h = setInterval(function() {
            b() && g && (g = !1, y(), clearInterval(h))
        },
        300);
        var w = (gsap.timeline(), gsap.timeline()),
        x = gsap.timeline();
        x.to(m, 1, {
            curImg: 126,
            roundProps: "curImg",
            onUpdate: function() {
                v.length > 0 && (f.clearRect(0, 0, d, p), f.drawImage(v[m.curImg], 0, 0, d, p))
            },
            ease: "linear"
        }),
        ScrollTrigger.create({
            animation: x,
            trigger: a,
            scrub: !0,
            start: "top top",
            end: "bottom bottom"
        }),
        w.from(c, 1, {
            autoAlpha: 0,
            y: 200
        }).from(s, 1, {
            autoAlpha: 0,
            y: 200
        },
        "-=1"),
        ScrollTrigger.create({
            animation: w,
            trigger: a,
            scrub: !0,
            start: "top center",
            end: "top 20%"
        })
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e > 1920),
        n = e <= 1920 && e > 1440,
        r = e <= 1440 && e > 1e3,
        o = e <= 1e3 && e > 768,
        i = e <= 768 && Modernizr.mobile,
        a = $(".tws2-deep"),
        s = $(".tws2-deep-box"),
        u = $(".tws2-deep-title"),
        c = u.find(".text"),
        l = a.find(".figure"),
        f = a.find(".animate-before"),
        d = l.find(".f1"),
        p = l.find(".f2"),
        h = void 0,
        g = void 0,
        m = void 0;
        m = o || i ? "mb": "lg";
        var v = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".deep-position").offset().top
        },
        y = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".deep-positions").offset().top
        },
        b = function() {
            o || i ? Modernizr.android ? (g.css("display", "none"), d.css("display", "none"), p.css("display", "block")) : (g.css("display", "block"), d.css("display", "block"), p.css("display", "none")) : g.css("display", "block")
        },
        w = '<picture class="video lazy-imageom">\n                <video autoplay="autoplay" loop="loop" muted="muted" playsinline="true" webkit-playsinline="true">\n                    <source src="' + IMAGE_HOST + "images/tws2-deep-video-" + m + '.mp4" type="video/mp4">\n                </video>\n            </picture>';
        h = setInterval(function() {
            y(a) && (l.prepend(w), g = l.find(".video"), b(), clearInterval(h))
        }),
        setInterval(function() {
            v(s) ? u.addClass("show") : u.removeClass("show")
        });
        var x = gsap.timeline();
        if (x.to(c, 1, {
            y: "-50%"
        }).from(c, .5, {
            opacity: 0,
            scale: .8
        },
        "-=1").to(c, .5, {
            opacity: 0
        },
        "-=.5"), ScrollTrigger.create({
            animation: x,
            trigger: s,
            scrub: !0,
            start: "top 60%",
            end: "bottom 50%",
            anticipatePin: 1,
            onUpdate: function(e) {
                e.progress > .25 ? u.addClass("tws2-deep-bgc") : u.removeClass("tws2-deep-bgc")
            }
        }), t || n || r) {
            var T = gsap.timeline();
            T.to(f, 1, {
                backgroundImage: "linear-gradient(90deg, rgba(0, 0, 0, 0) 100%, rgb(0, 0, 0) 200%)"
            }),
            ScrollTrigger.create({
                animation: T,
                trigger: a,
                scrub: !0,
                start: "top top",
                end: "bottom bottom",
                anticipatePin: 1
            })
        }
    };
    e.exports = n
},
function(e, t, n) {
    "use strict";
    var r = n(138),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r),
    i = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 1e3 && e > 768),
        n = e <= 768 && Modernizr.mobile,
        r = $(".tws2-wear"),
        i = r.find(".tws2-wear-animate-box"),
        a = r.find(".sticky-box"),
        s = i.find(".figure"),
        u = r.find(".mask"),
        c = a.find(".section"),
        l = c.find(".title").find(".box"),
        f = void 0,
        d = void 0,
        p = "lg"; (t || n) && (p = "xs");
        var h = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".wear-position").offset().top
        };
        $("#wear-video")[0].src = IMAGE_HOST + "images/tws2-wear-video-" + p + ".mp4",
        new o.
    default("wear-video");
        var g = document.getElementById("wear-video");
        f = setInterval(function() {
            h(r) && (d = i.find(".video"), m(), clearInterval(f))
        });
        var m = function() {
            t || n ? Modernizr.android ? (d.css("display", "none"), s.css("display", "block")) : (d.css("display", "block"), s.css("display", "none")) : d.css("display", "block")
        },
        v = gsap.timeline();
        t || n ? (v.from(u, 1, {
            autoAlpha: 0
        }).from(c, 1, {
            autoAlpha: 0,
            y: 200
        },
        "-=.5"), ScrollTrigger.create({
            animation: v,
            trigger: r,
            start: "top top",
            end: "bottom bottom",
            scrub: !0,
            anticipatePin: 1
        })) : (v.from(u, 1, {
            autoAlpha: 0
        }).from(c, 1, {
            autoAlpha: 0,
            y: "+=200%"
        },
        "-=.5"), ScrollTrigger.create({
            animation: v,
            trigger: r,
            start: "top top",
            end: "bottom bottom",
            scrub: !0,
            anticipatePin: 1,
            onUpdate: function() {
                g.play()
            }
        }));
        var y = gsap.timeline();
        y.from(a, 1, {
            opacity: 0
        },
        "-=2"),
        ScrollTrigger.create({
            animation: y,
            trigger: a,
            scrub: !0,
            start: "top 80%",
            end: "bottom center",
            anticipatePin: 1
        });
        var b = gsap.timeline();
        b.to(i, 1, {
            opacity: 0
        },
        "+=3").to(l, 1, {
            opacity: 0
        },
        "-=2"),
        ScrollTrigger.create({
            animation: b,
            trigger: r,
            scrub: !0,
            start: "top 10%",
            end: "bottom top"
        })
    };
    e.exports = i
},
function(e, t, n) {
    "use strict";
    function r(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    }
    Object.defineProperty(t, "__esModule", {
        value: !0
    });
    var o = n(71),
    i = r(o),
    a = n(72),
    s = r(a),
    u = {
        regClassCache: {},
        hasClass: function(e, t) {
            return u.regClassCache[t] || (u.regClassCache[t] = new RegExp("(\\s|^)" + t + "(\\s|$)")),
            u.regClassCache[t].test(e.getAttribute("class") || "") && u.regClassCache[t]
        },
        addClass: function(e, t) {
            u.hasClass(e, t) || e.setAttribute("class", (e.getAttribute("class") || "").trim() + " " + t)
        },
        removeClass: function(e, t) {
            var n; (n = u.hasClass(e, t)) && e.setAttribute("class", (e.getAttribute("class") || "").replace(n, " "))
        }
    },
    c = function() {
        function e(t, n) {
            return (0, i.
        default)(this, e),
            this.videoNode = document.getElementById(t),
            this.iscanplay = !1,
            this.isplaying = !1,
            this.cb = null,
            this.getUpdate = null,
            this.parent = this.videoNode.parentNode,
            n && (n.loop && (this.loop = n.loop || !1), n.unmuted && (this.unmuted = n.unmuted || !1), n.url && (this.url = n.url || !1), this.unmuted && this.videoNode.setAttribute("muted", !1), this.loop && this.videoNode.setAttribute("loop", !0)),
            this.onEnd = this.onEnd.bind(this),
            this.onPlay = this.onPlay.bind(this),
            this.play = this.play.bind(this),
            this.pause = this.pause.bind(this),
            this.onTimeupdate = this.onTimeupdate.bind(this),
            this.videoNode && (this.videoNode.setAttribute("playsinline", "true"), this.videoNode.setAttribute("webkit-playsinline", "true"), this.onComplete = this.onComplete.bind(this), this.onMetaData = this.onMetaData.bind(this), this.videoNode.addEventListener("loadmetadata", this.onMetaDta), this.onProgress = this.onProgress.bind(this), this.videoNode.addEventListener("progress", this.onProgress)),
            this
        }
        return (0, s.
    default)(e, [{
            key: "execute",
            value: function() {
                this.url && (this.videoNode.src = this.url),
                this.videoNode.addEventListener("canplaythrough", this.onComplete),
                this.videoNode.addEventListener("ended", this.onEnd),
                this.videoNode.addEventListener("play", this.onPlay),
                this.videoNode.addEventListener("timeupdate", this.onTimeupdate),
                this.videoNode.load()
            }
        },
        {
            key: "onProgress",
            value: function(e) {
                if (!0 === this.videoNode.buffered.length) {
                    var t = this.videoNode.buffered.end(0);
                    e && "function" == typeof e && e(t / this.videoNode.duration * 100)
                }
            }
        },
        {
            key: "onComplete",
            value: function() { ! u.hasClass(this.videoNode, "loaded") && u.addClass(this.videoNode, "loaded"),
                this.videoNode.removeEventListener("canplaythrough", this.onComplete),
                this.iscanplay = !0
            }
        },
        {
            key: "onEnd",
            value: function() {
                u.hasClass(this.parent, "active") && u.removeClass(this.parent, "active"),
                this.cb && "function" == typeof this.cb && this.cb()
            }
        },
        {
            key: "onTimeupdate",
            value: function() {
                var e = {
                    currenttime: this.videoNode.currentTime,
                    duration: this.videoNode.duration
                };
                this.getUpdate && "function" == typeof this.getUpdate && this.getUpdate(e)
            }
        },
        {
            key: "onPlay",
            value: function() { ! u.hasClass(this.parent, "active") && u.addClass(this.parent, "active"),
                !u.hasClass(this.videoNode, "play") && u.addClass(this.videoNode, "play"),
                this.isplaying = !0
            }
        },
        {
            key: "play",
            value: function(e, t) {
                var n = this;
                this.currenttime = null,
                this.cb = null;
                try {
                    this.videoNode && (this.videoNode.currentTime = 0),
                    this.videoNode.play()
                } catch(e) {}
                e && "function" == typeof e && (this.cb = e),
                setTimeout(function(e) {
                    u.hasClass(n.videoNode, "play") || t && "function" == typeof t && t()
                })
            }
        },
        {
            key: "pause",
            value: function(e) {
                this.cb = null,
                u.hasClass(this.videoNode, "play") && u.removeClass(this.videoNode, "play"),
                this.videoNode && this.videoNode.pause(),
                this.currenttime = this.videoNode.currentTime,
                this.isplaying = !1,
                e && "function" == typeof e && (this.cb = e)
            }
        },
        {
            key: "stop",
            value: function(e) {
                this.videoNode && this.videoNode.pause(),
                this.videoNode.currentTime = 0,
                this.isplaying = !1
            }
        },
        {
            key: "resume",
            value: function(e) {
                this.cb = null,
                u.hasClass(this.videoNode, "play") && u.removeClass(this.videoNode, "play"),
                this.videoNode && this.videoNode.play(),
                this.currenttime && (this.videoNode.currentTime = this.currenttime),
                this.isplaying = !0,
                this.currenttime = null,
                e && "function" == typeof e && (this.cb = e)
            }
        },
        {
            key: "getProgress",
            value: function() {
                return this.videoNode.currentTime
            }
        },
        {
            key: "setAttribute",
            value: function(e) {
                for (var t in e) this.videoNode.setAttribute(t.toString(), e[t].toString())
            }
        },
        {
            key: "setUpdate",
            value: function(e) {}
        },
        {
            key: "onMetaData",
            value: function() {}
        },
        {
            key: "revert",
            value: function() {}
        },
        {
            key: "destroy",
            value: function() {}
        }]),
        e
    } ();
    t.
default = c
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 768 && Modernizr.mobile, $(".tws2-noise")),
        n = t.find(".section"),
        r = n.find(".title"),
        o = t.find(".figure-box"),
        i = o.find(".figure"),
        a = o.find(".figure-svg"),
        s = gsap.timeline(),
        u = gsap.timeline(),
        c = gsap.timeline(),
        l = o.find(".f1");
        u.to(l, 1, {
            autoAlpha: 0
        },
        "+=.5").from(a, 1, {
            autoAlpha: 0
        },
        "-=.5"),
        ScrollTrigger.create({
            animation: u,
            trigger: t,
            start: "top center",
            end: "bottom 60%",
            scrub: !0,
            anticipatePin: 1
        }),
        s.from(r, {
            opacity: 0
        }).from(i, {
            opacity: 1
        },
        "-=.5"),
        ScrollTrigger.create({
            animation: s,
            trigger: t,
            scrub: !0,
            start: "top 80%",
            end: "bottom 80%"
        }),
        c.to(n, 1, {
            opacity: 0
        }).to(o, 1, {
            opacity: 0
        }),
        ScrollTrigger.create({
            animation: c,
            trigger: t,
            scrub: !0,
            start: "top 10%",
            end: "bottom top"
        })
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e > 1920),
        n = e <= 1920 && e > 1440,
        r = e <= 1440 && e > 1e3,
        o = e <= 1e3 && e > 768,
        i = e <= 768 && Modernizr.mobile,
        a = $(".tws2-dream"),
        s = a.find(".figure-box"),
        u = s.find(".line-box"),
        c = u.find(".line1"),
        l = u.find(".line2"),
        f = u.find(".txt"),
        d = a.find(".section"),
        p = a.find(".tws2-dream-animate").get(0),
        h = p.getContext("2d"),
        g = void 0,
        m = void 0,
        v = void 0,
        y = !0;
        n ? (g = 1116, m = 774) : t ? (g = 1240, m = 860) : r ? (g = 744, m = 516) : (o || i) && (g = 434, m = 301),
        o || i ? (p.width = 4 * g, p.height = 4 * m, h.scale(4, 4)) : (p.width = 2 * g, p.height = 2 * m, h.scale(2, 2)),
        h.clearRect(0, 0, g, m);
        var b = {
            curImg: 0
        },
        w = [],
        x = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".dream-position").offset().top
        },
        T = function(e) {
            return $(window).scrollTop() >= $(".dream-position-bottom").offset().top - $(window).height()
        },
        C = function() {
            for (var e = 0; e <= 69; e++) w[e] = new Image,
            w[e].src = IMAGE_HOST + "images/tws2-dream-lg_" + e + ".jpg";
            x(a) ? a.find(".tws2-dream-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-dream-lg_0.jpg)") : T() && a.find(".tws2-dream-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-dream-lg_69.jpg)")
        };
        if (v = setInterval(function() { (x(a) && y || T() && y) && (y = !1, C(), clearInterval(v))
        },
        60), i) {
            var S = gsap.timeline();
            S.to(b, 2, {
                curImg: 69,
                roundProps: "curImg",
                onUpdate: function() {
                    w.length > 0 && (h.clearRect(0, 0, g, m), h.drawImage(w[b.curImg], 0, 0, g, m))
                },
                ease: "linear"
            },
            "-=.25").from(c, .5, {
                autoAlpha: 0,
                height: 0
            },
            "-=.5").from(l, .5, {
                autoAlpha: 0,
                height: 0
            },
            "-=.5").from(f, .5, {
                autoAlpha: 0
            }),
            ScrollTrigger.create({
                animation: S,
                trigger: a,
                start: "top 30%",
                end: "bottom bottom",
                scrub: !0,
                anticipatePin: 1
            })
        } else {
            var A = gsap.timeline();
            A.from(d, 1, {
                autoAlpha: 0,
                yPercent: 100
            }).from(s, 2, {
                autoAlpha: 0,
                yPercent: 80
            },
            "-=1").to(d, 1, {
                autoAlpha: 0,
                yPercent: -80
            },
            "-=1").to(b, 1, {
                curImg: 69,
                roundProps: "curImg",
                onUpdate: function() {
                    w.length > 0 && (h.clearRect(0, 0, g, m), h.drawImage(w[b.curImg], 0, 0, g, m))
                },
                ease: "linear"
            },
            "-=1").from(c, .5, {
                autoAlpha: 0,
                height: 0
            }).from(l, .5, {
                autoAlpha: 0,
                height: 0
            },
            "-=.5").from(f, .5, {
                autoAlpha: 0
            }),
            ScrollTrigger.create({
                animation: A,
                trigger: a,
                start: "top center",
                end: "bottom bottom",
                scrub: !0,
                anticipatePin: 1
            })
        }
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 768 && Modernizr.mobile, $(".tws2-deepx")),
        n = t.find(".f1"),
        r = gsap.timeline();
        r.from(n, 1, {
            scale: 1.2
        }),
        ScrollTrigger.create({
            animation: r,
            trigger: t,
            start: "top top",
            end: "bottom center",
            scrub: !0
        })
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e > 1920),
        n = e <= 1920 && e > 1440,
        r = e <= 1440 && e > 1e3,
        o = e <= 1e3 && e > 768,
        i = e <= 768 && Modernizr.mobile,
        a = $(".tws2-long-title"),
        s = $(".tws2-long"),
        u = s.find(".box1"),
        c = s.find(".box2"),
        l = $(".tws2-long-box"),
        f = a.find(".text"),
        d = u.find(".section1"),
        p = u.find(".section2"),
        h = (c.find(".section1"), c.find(".section2"), u.find(".tws2-charge-animate").get(0)),
        g = h.getContext("2d"),
        m = void 0,
        v = void 0,
        y = void 0,
        b = !0;
        n ? (m = 595, v = 595) : t ? (m = 700, v = 700) : r ? (m = 560, v = 560) : (o || i) && (m = 700, v = 700, "mb", h = c.find(".tws2-charge-animate").get(0), g = h.getContext("2d")),
        o || i ? (h.width = 4 * m, h.height = 4 * v, g.scale(4, 4), g.clearRect(0, 0, h.width, h.height)) : (h.width = m, h.height = v, g.clearRect(0, 0, m, v)),
        g.clearRect(0, 0, m, v);
        var w = {
            curImg: 0
        },
        x = {
            curImg: 28
        },
        T = [],
        C = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".long-section-position").offset().top
        };
        setInterval(function() {
            C(l) ? a.addClass("show") : a.removeClass("show")
        });
        var S = gsap.timeline();
        S.to(f, 1, {
            y: "-50%"
        }).from(f, .5, {
            opacity: 0,
            scale: .8
        },
        "-=0.9").to(f, .5, {
            opacity: 0
        },
        "-=.5"),
        ScrollTrigger.create({
            animation: S,
            trigger: l,
            scrub: !0,
            start: "top 50%",
            end: "bottom 50%",
            anticipatePin: 1
        });
        var A = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".long-section-position").offset().top
        },
        E = function(e) {
            return $(window).scrollTop() >= $(".os-icon-position").offset().top - $(window).height()
        },
        k = function() {
            for (var e = 0; e <= 79; e++) T[e] = new Image,
            T[e].src = IMAGE_HOST + "images/tws2-long-lg_" + e + ".jpg";
            t || n || r ? A(a) ? u.find(".tws2-charge-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-long-lg_0.jpg)") : E() && u.find(".tws2-charge-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-long-lg_79.jpg)") : A(a) ? c.find(".tws2-charge-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-long-lg_0.jpg)") : E() && c.find(".tws2-charge-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-long-lg_79.jpg)")
        };
        if (y = setInterval(function() { (A(s) && b || E() && b) && (b = !1, k(), clearInterval(y))
        },
        60), t || n || r) {
            var j = gsap.timeline();
            j.to(d, 1, {
                autoAlpha: 0,
                y: "-80%"
            }).to(w, 1, {
                curImg: 25,
                roundProps: "curImg",
                onUpdate: function() {
                    T.length > 0 && (g.clearRect(0, 0, m, v), g.drawImage(T[w.curImg], 0, 0, m, v))
                }
            },
            "-=1").from(p, 1, {
                autoAlpha: 0,
                y: "+=60%"
            }).to(x, 1, {
                curImg: 79,
                roundProps: "curImg",
                onUpdate: function() {
                    T.length > 0 && (g.clearRect(0, 0, m, v), g.drawImage(T[x.curImg], 0, 0, m, v))
                },
                ease: "linear"
            },
            "-=1"),
            ScrollTrigger.create({
                animation: j,
                trigger: s,
                start: "top top",
                end: "bottom bottom",
                scrub: !0,
                anticipatePin: 1
            })
        } else if (o || i) {
            d.find(".vice-title").addClass("_tween _tween_1"),
            d.find(".main-title").addClass("_tween _tween_2"),
            d.find(".intro").addClass("_tween _tween_3"),
            p.find(".data-items").addClass("_tween _tween_4"),
            s.find(".figure").addClass("_tween _tween_5");
            var O = gsap.timeline();
            O.to(w, 1, {
                curImg: 79,
                roundProps: "curImg",
                onUpdate: function() {
                    T.length > 0 && (g.clearRect(0, 0, m, v), g.drawImage(T[w.curImg], 0, 0, m, v))
                },
                ease: "linear"
            }),
            ScrollTrigger.create({
                animation: O,
                trigger: s,
                start: "center 50%",
                end: "bottom 80%",
                scrub: !0,
                anticipatePin: 1
            })
        }
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e <= 1e3 && e > 768),
        n = e <= 768 && Modernizr.mobile,
        r = $(".tws2-connect"),
        o = r.find(".tws2-connect-animate-box"),
        i = void 0,
        a = void 0,
        s = void 0;
        s = t || n ? "mb": "lg";
        var u = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".connect-position").offset().top
        },
        c = '<picture class="video lazy-imageom">\n                <video autoplay="autoplay" loop="loop" muted="muted" playsinline="true" webkit-playsinline="true">\n                    <source src="' + IMAGE_HOST + "images/tws2-connect-video-" + s + '.mp4" type="video/mp4">\n                </video>\n            </picture>';
        i = setInterval(function() {
            u(r) && (o.prepend(c), a = o.find(".video"), l(), clearInterval(i))
        },
        60);
        var l = function() {
            t || n ? Modernizr.android ? (a.css("display", "none"), o.find(".tws2-connect-video-img").attr("src", IMAGE_HOST + "images/tws2-connect-video-mb.jpg"), o.find(".tws2-connect-video-img").css("display", "block")) : (a.css("display", "block"), o.find(".tws2-connect-video-img").css("display", "none")) : a.css("display", "block")
        }
    };
    e.exports = n
},
function(e, t) {
    "use strict";
    var n = function() {
        var e = $(window).width(),
        t = ($(window).width(), e > 1920),
        n = e <= 1920 && e > 1440,
        r = e <= 1440 && e > 1e3,
        o = e <= 1e3 && e > 768,
        i = e <= 768,
        a = $(".tws2-game"),
        s = a.find(".figure-box"),
        u = a.find(".figure-box1"),
        c = (u.find(".figure"), s.find(".figure")),
        l = a.find(".section1"),
        f = (s.find(".game-figure"), l.find(".vice-title"), l.find(".main-title"), a.find(".section2")),
        d = a.find(".section3"),
        p = f.find(".title"),
        h = (p.find("li"), c.find(".f1")),
        g = c.find(".f2"),
        m = c.find(".f3"),
        v = a.find(".tws2-game-animate").get(0),
        y = v.getContext("2d"),
        b = void 0,
        w = void 0,
        x = void 0,
        T = !0;
        n ? (b = 1088, w = 459) : t ? (b = 1280, w = 540) : r ? (b = 864, w = 480) : (o || i) && (b = 360, w = 200),
        o || i ? (v.width = 4 * b, v.height = 4 * w, y.scale(4, 4)) : (v.width = 2 * b, v.height = 2 * w, y.scale(2, 2)),
        y.clearRect(0, 0, b, w);
        var C = {
            curImg: 0
        },
        S = [],
        A = function() {
            for (var e = 0; e <= 39; e++) S[e] = new Image,
            S[e].src = IMAGE_HOST + "images/tws2-game-lg_" + e + ".jpg";
            E(a) ? a.find(".tws2-game-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-game-lg_0.jpg)") : k(a) && a.find(".tws2-game-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-game-lg_39.jpg)")
        },
        E = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".game-position").offset().top
        },
        k = function(e) {
            return $(window).scrollTop() >= $(".game-position-bottom").offset().top - $(window).height()
        };
        x = setInterval(function() { (E(a) && T || k(a) && T) && (T = !1, A(), clearInterval(x))
        },
        60);
        var j = (gsap.timeline(), gsap.timeline());
        gsap.timeline(); (t || n || r) && (j.from(l, 1, {
            autoAlpha: 0,
            yPercent: 100
        }).from(s, 2, {
            autoAlpha: 0,
            yPercent: 80
        },
        "-=1").to(l, 1, {
            autoAlpha: 0,
            yPercent: -100
        },
        "-=1").to(g, 1, {
            autoAlpha: 0,
            y: -200
        }).to(h, 1, {
            autoAlpha: 0,
            y: -200
        },
        "-=0.75").to(C, 1, {
            curImg: 39,
            roundProps: "curImg",
            onUpdate: function() {
                S.length > 0 && (y.clearRect(0, 0, b, w), y.drawImage(S[C.curImg], 0, 0, b, w))
            },
            ease: "linear"
        },
        "-=.4").from(m, 1, {
            autoAlpha: 0
        }).from(f, 1, {
            autoAlpha: 0,
            y: 200
        },
        "-=1.25").from(d, 1, {
            autoAlpha: 0
        },
        "-=.5"), ScrollTrigger.create({
            animation: j,
            trigger: a,
            start: "top center",
            end: "bottom bottom",
            scrub: !0,
            anticipatePin: 1
        }));
        var O = $(".film-mask");
        O.find("video"),
        O.find(".close"),
        a.find(".intro-special")
    };
    e.exports = n
},
function(e, t, n) {
    "use strict";
    var r = n(146),
    o = (r.css,
    function() {
        var e = $(window).width(),
        t = ($(window).width(), e > 1920),
        n = e <= 1920 && e > 1440,
        r = e <= 1440 && e > 1e3,
        o = e <= 1e3 && e > 768,
        i = e <= 768 && Modernizr.mobile,
        a = $(".tws2-small-title"),
        s = $(".tws2-small"),
        u = $(".tws2-small-box"),
        c = a.find(".text"),
        l = s.find(".section"),
        f = s.find(".figure-box"),
        d = f.find(".f1"),
        p = l.find(".title"),
        h = gsap.timeline(),
        g = gsap.timeline(),
        m = gsap.timeline(),
        v = (gsap.timeline(),
        function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".section-position").offset().top
        });
        setInterval(function() {
            v(u) ? a.addClass("show") : a.removeClass("show")
        }),
        h.to(c, 1, {
            y: "-50%"
        }).from(c, .5, {
            opacity: 0,
            scale: .8
        },
        "-=0.9").to(c, .5, {
            opacity: 0
        },
        "-=.5"),
        ScrollTrigger.create({
            animation: h,
            trigger: u,
            scrub: !0,
            start: "top 50%",
            end: "bottom 50%",
            anticipatePin: 1
        }),
        n || t ? g.from(d, 1, {
            scale: 1.3
        },
        "-=.5").to(f, 1, {
            scale: .56
        }).from(p, .5, {
            opacity: 0,
            y: "+=25%"
        },
        "-=.5") : r && g.from(d, 1, {
            scale: 1.3
        },
        "+=.2").to(f, 1, {
            scale: .48
        }).from(p, .5, {
            opacity: 0,
            y: "+=25%"
        },
        "-=.5"),
        (o || i) && m.from(d, 1, {
            scale: 1.5
        }),
        ScrollTrigger.create({
            animation: g,
            trigger: s,
            scrub: !0,
            start: "top 60%",
            end: "bottom bottom"
        }),
        ScrollTrigger.create({
            animation: m,
            trigger: s,
            scrub: !0,
            start: "top center",
            end: "bottom +=20%"
        })
    });
    e.exports = o
},
function(e, t, n) {
    var r, o; !
    function(t, n) {
        "use strict";
        "object" == typeof e && "object" == typeof e.exports ? e.exports = t.document ? n(t, !0) : function(e) {
            if (!e.document) throw new Error("jQuery requires a window with a document");
            return n(e)
        }: n(t)
    } ("undefined" != typeof window ? window: this,
    function(n, i) {
        "use strict";
        function a(e, t, n) {
            n = n || de;
            var r, o, i = n.createElement("script");
            if (i.text = e, t) for (r in Ee)(o = t[r] || t.getAttribute && t.getAttribute(r)) && i.setAttribute(r, o);
            n.head.appendChild(i).parentNode.removeChild(i)
        }
        function s(e) {
            return null == e ? e + "": "object" == typeof e || "function" == typeof e ? ye[be.call(e)] || "object": typeof e
        }
        function u(e) {
            var t = !!e && "length" in e && e.length,
            n = s(e);
            return ! Se(e) && !Ae(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
        }
        function c(e, t) {
            return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
        }
        function l(e, t, n) {
            return Se(t) ? ke.grep(e,
            function(e, r) {
                return !! t.call(e, r, e) !== n
            }) : t.nodeType ? ke.grep(e,
            function(e) {
                return e === t !== n
            }) : "string" != typeof t ? ke.grep(e,
            function(e) {
                return ve.call(t, e) > -1 !== n
            }) : ke.filter(t, e, n)
        }
        function f(e, t) {
            for (; (e = e[t]) && 1 !== e.nodeType;);
            return e
        }
        function d(e) {
            var t = {};
            return ke.each(e.match(qe) || [],
            function(e, n) {
                t[n] = !0
            }),
            t
        }
        function p(e) {
            return e
        }
        function h(e) {
            throw e
        }
        function g(e, t, n, r) {
            var o;
            try {
                e && Se(o = e.promise) ? o.call(e).done(t).fail(n) : e && Se(o = e.then) ? o.call(e, t, n) : t.apply(void 0, [e].slice(r))
            } catch(e) {
                n.apply(void 0, [e])
            }
        }
        function m() {
            de.removeEventListener("DOMContentLoaded", m),
            n.removeEventListener("load", m),
            ke.ready()
        }
        function v(e, t) {
            return t.toUpperCase()
        }
        function y(e) {
            return e.replace(ze, "ms-").replace(Be, v)
        }
        function b() {
            this.expando = ke.expando + b.uid++
        }
        function w(e) {
            return "true" === e || "false" !== e && ("null" === e ? null: e === +e + "" ? +e: Ve.test(e) ? JSON.parse(e) : e)
        }
        function x(e, t, n) {
            var r;
            if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(Xe, "-$&").toLowerCase(), "string" == typeof(n = e.getAttribute(r))) {
                try {
                    n = w(n)
                } catch(e) {}
                Ge.set(e, t, n)
            } else n = void 0;
            return n
        }
        function T(e, t, n, r) {
            var o, i, a = 20,
            s = r ?
            function() {
                return r.cur()
            }: function() {
                return ke.css(e, t, "")
            },
            u = s(),
            c = n && n[3] || (ke.cssNumber[t] ? "": "px"),
            l = e.nodeType && (ke.cssNumber[t] || "px" !== c && +u) && Qe.exec(ke.css(e, t));
            if (l && l[3] !== c) {
                for (u /= 2, c = c || l[3], l = +u || 1; a--;) ke.style(e, t, l + c),
                (1 - i) * (1 - (i = s() / u || .5)) <= 0 && (a = 0),
                l /= i;
                l *= 2,
                ke.style(e, t, l + c),
                n = n || []
            }
            return n && (l = +l || +u || 0, o = n[1] ? l + (n[1] + 1) * n[2] : +n[2], r && (r.unit = c, r.start = l, r.end = o)),
            o
        }
        function C(e) {
            var t, n = e.ownerDocument,
            r = e.nodeName,
            o = rt[r];
            return o || (t = n.body.appendChild(n.createElement(r)), o = ke.css(t, "display"), t.parentNode.removeChild(t), "none" === o && (o = "block"), rt[r] = o, o)
        }
        function S(e, t) {
            for (var n, r, o = [], i = 0, a = e.length; i < a; i++) r = e[i],
            r.style && (n = r.style.display, t ? ("none" === n && (o[i] = Ue.get(r, "display") || null, o[i] || (r.style.display = "")), "" === r.style.display && tt(r) && (o[i] = C(r))) : "none" !== n && (o[i] = "none", Ue.set(r, "display", n)));
            for (i = 0; i < a; i++) null != o[i] && (e[i].style.display = o[i]);
            return e
        }
        function A(e, t) {
            var n;
            return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t || "*") : void 0 !== e.querySelectorAll ? e.querySelectorAll(t || "*") : [],
            void 0 === t || t && c(e, t) ? ke.merge([e], n) : n
        }
        function E(e, t) {
            for (var n = 0,
            r = e.length; n < r; n++) Ue.set(e[n], "globalEval", !t || Ue.get(t[n], "globalEval"))
        }
        function k(e, t, n, r, o) {
            for (var i, a, u, c, l, f, d = t.createDocumentFragment(), p = [], h = 0, g = e.length; h < g; h++) if ((i = e[h]) || 0 === i) if ("object" === s(i)) ke.merge(p, i.nodeType ? [i] : i);
            else if (ut.test(i)) {
                for (a = a || d.appendChild(t.createElement("div")), u = (it.exec(i) || ["", ""])[1].toLowerCase(), c = st[u] || st._default, a.innerHTML = c[1] + ke.htmlPrefilter(i) + c[2], f = c[0]; f--;) a = a.lastChild;
                ke.merge(p, a.childNodes),
                a = d.firstChild,
                a.textContent = ""
            } else p.push(t.createTextNode(i));
            for (d.textContent = "", h = 0; i = p[h++];) if (r && ke.inArray(i, r) > -1) o && o.push(i);
            else if (l = Ze(i), a = A(d.appendChild(i), "script"), l && E(a), n) for (f = 0; i = a[f++];) at.test(i.type || "") && n.push(i);
            return d
        }
        function j() {
            return ! 0
        }
        function O() {
            return ! 1
        }
        function $(e, t) {
            return e === M() == ("focus" === t)
        }
        function M() {
            try {
                return de.activeElement
            } catch(e) {}
        }
        function N(e, t, n, r, o, i) {
            var a, s;
            if ("object" == typeof t) {
                "string" != typeof n && (r = r || n, n = void 0);
                for (s in t) N(e, s, n, r, t[s], i);
                return e
            }
            if (null == r && null == o ? (o = n, r = n = void 0) : null == o && ("string" == typeof n ? (o = r, r = void 0) : (o = r, r = n, n = void 0)), !1 === o) o = O;
            else if (!o) return e;
            return 1 === i && (a = o, o = function(e) {
                return ke().off(e),
                a.apply(this, arguments)
            },
            o.guid = a.guid || (a.guid = ke.guid++)),
            e.each(function() {
                ke.event.add(this, t, o, r, n)
            })
        }
        function _(e, t, n) {
            if (!n) return void(void 0 === Ue.get(e, t) && ke.event.add(e, t, j));
            Ue.set(e, t, !1),
            ke.event.add(e, t, {
                namespace: !1,
                handler: function(e) {
                    var r, o, i = Ue.get(this, t);
                    if (1 & e.isTrigger && this[t]) {
                        if (i.length)(ke.event.special[t] || {}).delegateType && e.stopPropagation();
                        else if (i = he.call(arguments), Ue.set(this, t, i), r = n(this, t), this[t](), o = Ue.get(this, t), i !== o || r ? Ue.set(this, t, !1) : o = {},
                        i !== o) return e.stopImmediatePropagation(),
                        e.preventDefault(),
                        o.value
                    } else i.length && (Ue.set(this, t, {
                        value: ke.event.trigger(ke.extend(i[0], ke.Event.prototype), i.slice(1), this)
                    }), e.stopImmediatePropagation())
                }
            })
        }
        function P(e, t) {
            return c(e, "table") && c(11 !== t.nodeType ? t: t.firstChild, "tr") ? ke(e).children("tbody")[0] || e: e
        }
        function I(e) {
            return e.type = (null !== e.getAttribute("type")) + "/" + e.type,
            e
        }
        function D(e) {
            return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"),
            e
        }
        function L(e, t) {
            var n, r, o, i, a, s, u, c;
            if (1 === t.nodeType) {
                if (Ue.hasData(e) && (i = Ue.access(e), a = Ue.set(t, i), c = i.events)) {
                    delete a.handle,
                    a.events = {};
                    for (o in c) for (n = 0, r = c[o].length; n < r; n++) ke.event.add(t, o, c[o][n])
                }
                Ge.hasData(e) && (s = Ge.access(e), u = ke.extend({},
                s), Ge.set(t, u))
            }
        }
        function q(e, t) {
            var n = t.nodeName.toLowerCase();
            "input" === n && ot.test(e.type) ? t.checked = e.checked: "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
        }
        function H(e, t, n, r) {
            t = ge.apply([], t);
            var o, i, s, u, c, l, f = 0,
            d = e.length,
            p = d - 1,
            h = t[0],
            g = Se(h);
            if (g || d > 1 && "string" == typeof h && !Ce.checkClone && ht.test(h)) return e.each(function(o) {
                var i = e.eq(o);
                g && (t[0] = h.call(this, o, i.html())),
                H(i, t, n, r)
            });
            if (d && (o = k(t, e[0].ownerDocument, !1, e, r), i = o.firstChild, 1 === o.childNodes.length && (o = i), i || r)) {
                for (s = ke.map(A(o, "script"), I), u = s.length; f < d; f++) c = o,
                f !== p && (c = ke.clone(c, !0, !0), u && ke.merge(s, A(c, "script"))),
                n.call(e[f], c, f);
                if (u) for (l = s[s.length - 1].ownerDocument, ke.map(s, D), f = 0; f < u; f++) c = s[f],
                at.test(c.type || "") && !Ue.access(c, "globalEval") && ke.contains(l, c) && (c.src && "module" !== (c.type || "").toLowerCase() ? ke._evalUrl && !c.noModule && ke._evalUrl(c.src, {
                    nonce: c.nonce || c.getAttribute("nonce")
                }) : a(c.textContent.replace(gt, ""), c, l))
            }
            return e
        }
        function R(e, t, n) {
            for (var r, o = t ? ke.filter(t, e) : e, i = 0; null != (r = o[i]); i++) n || 1 !== r.nodeType || ke.cleanData(A(r)),
            r.parentNode && (n && Ze(r) && E(A(r, "script")), r.parentNode.removeChild(r));
            return e
        }
        function F(e, t, n) {
            var r, o, i, a, s = e.style;
            return n = n || vt(e),
            n && (a = n.getPropertyValue(t) || n[t], "" !== a || Ze(e) || (a = ke.style(e, t)), !Ce.pixelBoxStyles() && mt.test(a) && yt.test(t) && (r = s.width, o = s.minWidth, i = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = o, s.maxWidth = i)),
            void 0 !== a ? a + "": a
        }
        function z(e, t) {
            return {
                get: function() {
                    return e() ? void delete this.get: (this.get = t).apply(this, arguments)
                }
            }
        }
        function B(e) {
            for (var t = e[0].toUpperCase() + e.slice(1), n = bt.length; n--;) if ((e = bt[n] + t) in wt) return e
        }
        function W(e) {
            var t = ke.cssProps[e] || xt[e];
            return t || (e in wt ? e: xt[e] = B(e) || e)
        }
        function U(e, t, n) {
            var r = Qe.exec(t);
            return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t
        }
        function G(e, t, n, r, o, i) {
            var a = "width" === t ? 1 : 0,
            s = 0,
            u = 0;
            if (n === (r ? "border": "content")) return 0;
            for (; a < 4; a += 2)"margin" === n && (u += ke.css(e, n + Ye[a], !0, o)),
            r ? ("content" === n && (u -= ke.css(e, "padding" + Ye[a], !0, o)), "margin" !== n && (u -= ke.css(e, "border" + Ye[a] + "Width", !0, o))) : (u += ke.css(e, "padding" + Ye[a], !0, o), "padding" !== n ? u += ke.css(e, "border" + Ye[a] + "Width", !0, o) : s += ke.css(e, "border" + Ye[a] + "Width", !0, o));
            return ! r && i >= 0 && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - i - u - s - .5)) || 0),
            u
        }
        function V(e, t, n) {
            var r = vt(e),
            o = !Ce.boxSizingReliable() || n,
            i = o && "border-box" === ke.css(e, "boxSizing", !1, r),
            a = i,
            s = F(e, t, r),
            u = "offset" + t[0].toUpperCase() + t.slice(1);
            if (mt.test(s)) {
                if (!n) return s;
                s = "auto"
            }
            return (!Ce.boxSizingReliable() && i || "auto" === s || !parseFloat(s) && "inline" === ke.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === ke.css(e, "boxSizing", !1, r), (a = u in e) && (s = e[u])),
            (s = parseFloat(s) || 0) + G(e, t, n || (i ? "border": "content"), a, r, s) + "px"
        }
        function X(e, t, n, r, o) {
            return new X.prototype.init(e, t, n, r, o)
        }
        function J() {
            kt && (!1 === de.hidden && n.requestAnimationFrame ? n.requestAnimationFrame(J) : n.setTimeout(J, ke.fx.interval), ke.fx.tick())
        }
        function Q() {
            return n.setTimeout(function() {
                Et = void 0
            }),
            Et = Date.now()
        }
        function Y(e, t) {
            var n, r = 0,
            o = {
                height: e
            };
            for (t = t ? 1 : 0; r < 4; r += 2 - t) n = Ye[r],
            o["margin" + n] = o["padding" + n] = e;
            return t && (o.opacity = o.width = e),
            o
        }
        function K(e, t, n) {
            for (var r, o = (te.tweeners[t] || []).concat(te.tweeners["*"]), i = 0, a = o.length; i < a; i++) if (r = o[i].call(n, t, e)) return r
        }
        function Z(e, t, n) {
            var r, o, i, a, s, u, c, l, f = "width" in t || "height" in t,
            d = this,
            p = {},
            h = e.style,
            g = e.nodeType && tt(e),
            m = Ue.get(e, "fxshow");
            n.queue || (a = ke._queueHooks(e, "fx"), null == a.unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function() {
                a.unqueued || s()
            }), a.unqueued++, d.always(function() {
                d.always(function() {
                    a.unqueued--,
                    ke.queue(e, "fx").length || a.empty.fire()
                })
            }));
            for (r in t) if (o = t[r], jt.test(o)) {
                if (delete t[r], i = i || "toggle" === o, o === (g ? "hide": "show")) {
                    if ("show" !== o || !m || void 0 === m[r]) continue;
                    g = !0
                }
                p[r] = m && m[r] || ke.style(e, r)
            }
            if ((u = !ke.isEmptyObject(t)) || !ke.isEmptyObject(p)) {
                f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], c = m && m.display, null == c && (c = Ue.get(e, "display")), l = ke.css(e, "display"), "none" === l && (c ? l = c: (S([e], !0), c = e.style.display || c, l = ke.css(e, "display"), S([e]))), ("inline" === l || "inline-block" === l && null != c) && "none" === ke.css(e, "float") && (u || (d.done(function() {
                    h.display = c
                }), null == c && (l = h.display, c = "none" === l ? "": l)), h.display = "inline-block")),
                n.overflow && (h.overflow = "hidden", d.always(function() {
                    h.overflow = n.overflow[0],
                    h.overflowX = n.overflow[1],
                    h.overflowY = n.overflow[2]
                })),
                u = !1;
                for (r in p) u || (m ? "hidden" in m && (g = m.hidden) : m = Ue.access(e, "fxshow", {
                    display: c
                }), i && (m.hidden = !g), g && S([e], !0), d.done(function() {
                    g || S([e]),
                    Ue.remove(e, "fxshow");
                    for (r in p) ke.style(e, r, p[r])
                })),
                u = K(g ? m[r] : 0, r, d),
                r in m || (m[r] = u.start, g && (u.end = u.start, u.start = 0))
            }
        }
        function ee(e, t) {
            var n, r, o, i, a;
            for (n in e) if (r = y(n), o = t[r], i = e[n], Array.isArray(i) && (o = i[1], i = e[n] = i[0]), n !== r && (e[r] = i, delete e[n]), (a = ke.cssHooks[r]) && "expand" in a) {
                i = a.expand(i),
                delete e[r];
                for (n in i) n in e || (e[n] = i[n], t[n] = o)
            } else t[r] = o
        }
        function te(e, t, n) {
            var r, o, i = 0,
            a = te.prefilters.length,
            s = ke.Deferred().always(function() {
                delete u.elem
            }),
            u = function() {
                if (o) return ! 1;
                for (var t = Et || Q(), n = Math.max(0, c.startTime + c.duration - t), r = n / c.duration || 0, i = 1 - r, a = 0, u = c.tweens.length; a < u; a++) c.tweens[a].run(i);
                return s.notifyWith(e, [c, i, n]),
                i < 1 && u ? n: (u || s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c]), !1)
            },
            c = s.promise({
                elem: e,
                props: ke.extend({},
                t),
                opts: ke.extend(!0, {
                    specialEasing: {},
                    easing: ke.easing._default
                },
                n),
                originalProperties: t,
                originalOptions: n,
                startTime: Et || Q(),
                duration: n.duration,
                tweens: [],
                createTween: function(t, n) {
                    var r = ke.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing);
                    return c.tweens.push(r),
                    r
                },
                stop: function(t) {
                    var n = 0,
                    r = t ? c.tweens.length: 0;
                    if (o) return this;
                    for (o = !0; n < r; n++) c.tweens[n].run(1);
                    return t ? (s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c, t])) : s.rejectWith(e, [c, t]),
                    this
                }
            }),
            l = c.props;
            for (ee(l, c.opts.specialEasing); i < a; i++) if (r = te.prefilters[i].call(c, e, l, c.opts)) return Se(r.stop) && (ke._queueHooks(c.elem, c.opts.queue).stop = r.stop.bind(r)),
            r;
            return ke.map(l, K, c),
            Se(c.opts.start) && c.opts.start.call(e, c),
            c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always),
            ke.fx.timer(ke.extend(u, {
                elem: e,
                anim: c,
                queue: c.opts.queue
            })),
            c
        }
        function ne(e) {
            return (e.match(qe) || []).join(" ")
        }
        function re(e) {
            return e.getAttribute && e.getAttribute("class") || ""
        }
        function oe(e) {
            return Array.isArray(e) ? e: "string" == typeof e ? e.match(qe) || [] : []
        }
        function ie(e, t, n, r) {
            var o;
            if (Array.isArray(t)) ke.each(t,
            function(t, o) {
                n || Rt.test(e) ? r(e, o) : ie(e + "[" + ("object" == typeof o && null != o ? t: "") + "]", o, n, r)
            });
            else if (n || "object" !== s(t)) r(e, t);
            else for (o in t) ie(e + "[" + o + "]", t[o], n, r)
        }
        function ae(e) {
            return function(t, n) {
                "string" != typeof t && (n = t, t = "*");
                var r, o = 0,
                i = t.toLowerCase().match(qe) || [];
                if (Se(n)) for (; r = i[o++];)"+" === r[0] ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
            }
        }
        function se(e, t, n, r) {
            function o(s) {
                var u;
                return i[s] = !0,
                ke.each(e[s] || [],
                function(e, s) {
                    var c = s(t, n, r);
                    return "string" != typeof c || a || i[c] ? a ? !(u = c) : void 0 : (t.dataTypes.unshift(c), o(c), !1)
                }),
                u
            }
            var i = {},
            a = e === Kt;
            return o(t.dataTypes[0]) || !i["*"] && o("*")
        }
        function ue(e, t) {
            var n, r, o = ke.ajaxSettings.flatOptions || {};
            for (n in t) void 0 !== t[n] && ((o[n] ? e: r || (r = {}))[n] = t[n]);
            return r && ke.extend(!0, e, r),
            e
        }
        function ce(e, t, n) {
            for (var r, o, i, a, s = e.contents,
            u = e.dataTypes;
            "*" === u[0];) u.shift(),
            void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type"));
            if (r) for (o in s) if (s[o] && s[o].test(r)) {
                u.unshift(o);
                break
            }
            if (u[0] in n) i = u[0];
            else {
                for (o in n) {
                    if (!u[0] || e.converters[o + " " + u[0]]) {
                        i = o;
                        break
                    }
                    a || (a = o)
                }
                i = i || a
            }
            if (i) return i !== u[0] && u.unshift(i),
            n[i]
        }
        function le(e, t, n, r) {
            var o, i, a, s, u, c = {},
            l = e.dataTypes.slice();
            if (l[1]) for (a in e.converters) c[a.toLowerCase()] = e.converters[a];
            for (i = l.shift(); i;) if (e.responseFields[i] && (n[e.responseFields[i]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = i, i = l.shift()) if ("*" === i) i = u;
            else if ("*" !== u && u !== i) {
                if (! (a = c[u + " " + i] || c["* " + i])) for (o in c) if (s = o.split(" "), s[1] === i && (a = c[u + " " + s[0]] || c["* " + s[0]])) { ! 0 === a ? a = c[o] : !0 !== c[o] && (i = s[0], l.unshift(s[1]));
                    break
                }
                if (!0 !== a) if (a && e.throws) t = a(t);
                else try {
                    t = a(t)
                } catch(e) {
                    return {
                        state: "parsererror",
                        error: a ? e: "No conversion from " + u + " to " + i
                    }
                }
            }
            return {
                state: "success",
                data: t
            }
        }
        var fe = [],
        de = n.document,
        pe = Object.getPrototypeOf,
        he = fe.slice,
        ge = fe.concat,
        me = fe.push,
        ve = fe.indexOf,
        ye = {},
        be = ye.toString,
        we = ye.hasOwnProperty,
        xe = we.toString,
        Te = xe.call(Object),
        Ce = {},
        Se = function(e) {
            return "function" == typeof e && "number" != typeof e.nodeType
        },
        Ae = function(e) {
            return null != e && e === e.window
        },
        Ee = {
            type: !0,
            src: !0,
            nonce: !0,
            noModule: !0
        },
        ke = function(e, t) {
            return new ke.fn.init(e, t)
        },
        je = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
        ke.fn = ke.prototype = {
            jquery: "3.4.1",
            constructor: ke,
            length: 0,
            toArray: function() {
                return he.call(this)
            },
            get: function(e) {
                return null == e ? he.call(this) : e < 0 ? this[e + this.length] : this[e]
            },
            pushStack: function(e) {
                var t = ke.merge(this.constructor(), e);
                return t.prevObject = this,
                t
            },
            each: function(e) {
                return ke.each(this, e)
            },
            map: function(e) {
                return this.pushStack(ke.map(this,
                function(t, n) {
                    return e.call(t, n, t)
                }))
            },
            slice: function() {
                return this.pushStack(he.apply(this, arguments))
            },
            first: function() {
                return this.eq(0)
            },
            last: function() {
                return this.eq( - 1)
            },
            eq: function(e) {
                var t = this.length,
                n = +e + (e < 0 ? t: 0);
                return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
            },
            end: function() {
                return this.prevObject || this.constructor()
            },
            push: me,
            sort: fe.sort,
            splice: fe.splice
        },
        ke.extend = ke.fn.extend = function() {
            var e, t, n, r, o, i, a = arguments[0] || {},
            s = 1,
            u = arguments.length,
            c = !1;
            for ("boolean" == typeof a && (c = a, a = arguments[s] || {},
            s++), "object" == typeof a || Se(a) || (a = {}), s === u && (a = this, s--); s < u; s++) if (null != (e = arguments[s])) for (t in e) r = e[t],
            "__proto__" !== t && a !== r && (c && r && (ke.isPlainObject(r) || (o = Array.isArray(r))) ? (n = a[t], i = o && !Array.isArray(n) ? [] : o || ke.isPlainObject(n) ? n: {},
            o = !1, a[t] = ke.extend(c, i, r)) : void 0 !== r && (a[t] = r));
            return a
        },
        ke.extend({
            expando: "jQuery" + ("3.4.1" + Math.random()).replace(/\D/g, ""),
            isReady: !0,
            error: function(e) {
                throw new Error(e)
            },
            noop: function() {},
            isPlainObject: function(e) {
                var t, n;
                return ! (!e || "[object Object]" !== be.call(e)) && (!(t = pe(e)) || "function" == typeof(n = we.call(t, "constructor") && t.constructor) && xe.call(n) === Te)
            },
            isEmptyObject: function(e) {
                var t;
                for (t in e) return ! 1;
                return ! 0
            },
            globalEval: function(e, t) {
                a(e, {
                    nonce: t && t.nonce
                })
            },
            each: function(e, t) {
                var n, r = 0;
                if (u(e)) for (n = e.length; r < n && !1 !== t.call(e[r], r, e[r]); r++);
                else for (r in e) if (!1 === t.call(e[r], r, e[r])) break;
                return e
            },
            trim: function(e) {
                return null == e ? "": (e + "").replace(je, "")
            },
            makeArray: function(e, t) {
                var n = t || [];
                return null != e && (u(Object(e)) ? ke.merge(n, "string" == typeof e ? [e] : e) : me.call(n, e)),
                n
            },
            inArray: function(e, t, n) {
                return null == t ? -1 : ve.call(t, e, n)
            },
            merge: function(e, t) {
                for (var n = +t.length,
                r = 0,
                o = e.length; r < n; r++) e[o++] = t[r];
                return e.length = o,
                e
            },
            grep: function(e, t, n) {
                for (var r = [], o = 0, i = e.length, a = !n; o < i; o++) ! t(e[o], o) !== a && r.push(e[o]);
                return r
            },
            map: function(e, t, n) {
                var r, o, i = 0,
                a = [];
                if (u(e)) for (r = e.length; i < r; i++) null != (o = t(e[i], i, n)) && a.push(o);
                else for (i in e) null != (o = t(e[i], i, n)) && a.push(o);
                return ge.apply([], a)
            },
            guid: 1,
            support: Ce
        }),
        "function" == typeof Symbol && (ke.fn[Symbol.iterator] = fe[Symbol.iterator]),
        ke.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
        function(e, t) {
            ye["[object " + t + "]"] = t.toLowerCase()
        });
        var Oe = function(e) {
            function t(e, t, n, r) {
                var o, i, a, s, u, l, d, p = t && t.ownerDocument,
                h = t ? t.nodeType: 9;
                if (n = n || [], "string" != typeof e || !e || 1 !== h && 9 !== h && 11 !== h) return n;
                if (!r && ((t ? t.ownerDocument || t: H) !== M && $(t), t = t || M, _)) {
                    if (11 !== h && (u = ve.exec(e))) if (o = u[1]) {
                        if (9 === h) {
                            if (! (a = t.getElementById(o))) return n;
                            if (a.id === o) return n.push(a),
                            n
                        } else if (p && (a = p.getElementById(o)) && L(t, a) && a.id === o) return n.push(a),
                        n
                    } else {
                        if (u[2]) return Y.apply(n, t.getElementsByTagName(e)),
                        n;
                        if ((o = u[3]) && w.getElementsByClassName && t.getElementsByClassName) return Y.apply(n, t.getElementsByClassName(o)),
                        n
                    }
                    if (w.qsa && !U[e + " "] && (!P || !P.test(e)) && (1 !== h || "object" !== t.nodeName.toLowerCase())) {
                        if (d = e, p = t, 1 === h && ce.test(e)) {
                            for ((s = t.getAttribute("id")) ? s = s.replace(xe, Te) : t.setAttribute("id", s = q), l = S(e), i = l.length; i--;) l[i] = "#" + s + " " + f(l[i]);
                            d = l.join(","),
                            p = ye.test(e) && c(t.parentNode) || t
                        }
                        try {
                            return Y.apply(n, p.querySelectorAll(d)),
                            n
                        } catch(t) {
                            U(e, !0)
                        } finally {
                            s === q && t.removeAttribute("id")
                        }
                    }
                }
                return E(e.replace(ae, "$1"), t, n, r)
            }
            function n() {
                function e(n, r) {
                    return t.push(n + " ") > x.cacheLength && delete e[t.shift()],
                    e[n + " "] = r
                }
                var t = [];
                return e
            }
            function r(e) {
                return e[q] = !0,
                e
            }
            function o(e) {
                var t = M.createElement("fieldset");
                try {
                    return !! e(t)
                } catch(e) {
                    return ! 1
                } finally {
                    t.parentNode && t.parentNode.removeChild(t),
                    t = null
                }
            }
            function i(e, t) {
                for (var n = e.split("|"), r = n.length; r--;) x.attrHandle[n[r]] = t
            }
            function a(e, t) {
                var n = t && e,
                r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex;
                if (r) return r;
                if (n) for (; n = n.nextSibling;) if (n === t) return - 1;
                return e ? 1 : -1
            }
            function s(e) {
                return function(t) {
                    return "form" in t ? t.parentNode && !1 === t.disabled ? "label" in t ? "label" in t.parentNode ? t.parentNode.disabled === e: t.disabled === e: t.isDisabled === e || t.isDisabled !== !e && Se(t) === e: t.disabled === e: "label" in t && t.disabled === e
                }
            }
            function u(e) {
                return r(function(t) {
                    return t = +t,
                    r(function(n, r) {
                        for (var o, i = e([], n.length, t), a = i.length; a--;) n[o = i[a]] && (n[o] = !(r[o] = n[o]))
                    })
                })
            }
            function c(e) {
                return e && void 0 !== e.getElementsByTagName && e
            }
            function l() {}
            function f(e) {
                for (var t = 0,
                n = e.length,
                r = ""; t < n; t++) r += e[t].value;
                return r
            }
            function d(e, t, n) {
                var r = t.dir,
                o = t.next,
                i = o || r,
                a = n && "parentNode" === i,
                s = F++;
                return t.first ?
                function(t, n, o) {
                    for (; t = t[r];) if (1 === t.nodeType || a) return e(t, n, o);
                    return ! 1
                }: function(t, n, u) {
                    var c, l, f, d = [R, s];
                    if (u) {
                        for (; t = t[r];) if ((1 === t.nodeType || a) && e(t, n, u)) return ! 0
                    } else for (; t = t[r];) if (1 === t.nodeType || a) if (f = t[q] || (t[q] = {}), l = f[t.uniqueID] || (f[t.uniqueID] = {}), o && o === t.nodeName.toLowerCase()) t = t[r] || t;
                    else {
                        if ((c = l[i]) && c[0] === R && c[1] === s) return d[2] = c[2];
                        if (l[i] = d, d[2] = e(t, n, u)) return ! 0
                    }
                    return ! 1
                }
            }
            function p(e) {
                return e.length > 1 ?
                function(t, n, r) {
                    for (var o = e.length; o--;) if (!e[o](t, n, r)) return ! 1;
                    return ! 0
                }: e[0]
            }
            function h(e, n, r) {
                for (var o = 0,
                i = n.length; o < i; o++) t(e, n[o], r);
                return r
            }
            function g(e, t, n, r, o) {
                for (var i, a = [], s = 0, u = e.length, c = null != t; s < u; s++)(i = e[s]) && (n && !n(i, r, o) || (a.push(i), c && t.push(s)));
                return a
            }
            function m(e, t, n, o, i, a) {
                return o && !o[q] && (o = m(o)),
                i && !i[q] && (i = m(i, a)),
                r(function(r, a, s, u) {
                    var c, l, f, d = [],
                    p = [],
                    m = a.length,
                    v = r || h(t || "*", s.nodeType ? [s] : s, []),
                    y = !e || !r && t ? v: g(v, d, e, s, u),
                    b = n ? i || (r ? e: m || o) ? [] : a: y;
                    if (n && n(y, b, s, u), o) for (c = g(b, p), o(c, [], s, u), l = c.length; l--;)(f = c[l]) && (b[p[l]] = !(y[p[l]] = f));
                    if (r) {
                        if (i || e) {
                            if (i) {
                                for (c = [], l = b.length; l--;)(f = b[l]) && c.push(y[l] = f);
                                i(null, b = [], c, u)
                            }
                            for (l = b.length; l--;)(f = b[l]) && (c = i ? Z(r, f) : d[l]) > -1 && (r[c] = !(a[c] = f))
                        }
                    } else b = g(b === a ? b.splice(m, b.length) : b),
                    i ? i(null, a, b, u) : Y.apply(a, b)
                })
            }
            function v(e) {
                for (var t, n, r, o = e.length,
                i = x.relative[e[0].type], a = i || x.relative[" "], s = i ? 1 : 0, u = d(function(e) {
                    return e === t
                },
                a, !0), c = d(function(e) {
                    return Z(t, e) > -1
                },
                a, !0), l = [function(e, n, r) {
                    var o = !i && (r || n !== k) || ((t = n).nodeType ? u(e, n, r) : c(e, n, r));
                    return t = null,
                    o
                }]; s < o; s++) if (n = x.relative[e[s].type]) l = [d(p(l), n)];
                else {
                    if (n = x.filter[e[s].type].apply(null, e[s].matches), n[q]) {
                        for (r = ++s; r < o && !x.relative[e[r].type]; r++);
                        return m(s > 1 && p(l), s > 1 && f(e.slice(0, s - 1).concat({
                            value: " " === e[s - 2].type ? "*": ""
                        })).replace(ae, "$1"), n, s < r && v(e.slice(s, r)), r < o && v(e = e.slice(r)), r < o && f(e))
                    }
                    l.push(n)
                }
                return p(l)
            }
            function y(e, n) {
                var o = n.length > 0,
                i = e.length > 0,
                a = function(r, a, s, u, c) {
                    var l, f, d, p = 0,
                    h = "0",
                    m = r && [],
                    v = [],
                    y = k,
                    b = r || i && x.find.TAG("*", c),
                    w = R += null == y ? 1 : Math.random() || .1,
                    T = b.length;
                    for (c && (k = a === M || a || c); h !== T && null != (l = b[h]); h++) {
                        if (i && l) {
                            for (f = 0, a || l.ownerDocument === M || ($(l), s = !_); d = e[f++];) if (d(l, a || M, s)) {
                                u.push(l);
                                break
                            }
                            c && (R = w)
                        }
                        o && ((l = !d && l) && p--, r && m.push(l))
                    }
                    if (p += h, o && h !== p) {
                        for (f = 0; d = n[f++];) d(m, v, a, s);
                        if (r) {
                            if (p > 0) for (; h--;) m[h] || v[h] || (v[h] = J.call(u));
                            v = g(v)
                        }
                        Y.apply(u, v),
                        c && !r && v.length > 0 && p + n.length > 1 && t.uniqueSort(u)
                    }
                    return c && (R = w, k = y),
                    m
                };
                return o ? r(a) : a
            }
            var b, w, x, T, C, S, A, E, k, j, O, $, M, N, _, P, I, D, L, q = "sizzle" + 1 * new Date,
            H = e.document,
            R = 0,
            F = 0,
            z = n(),
            B = n(),
            W = n(),
            U = n(),
            G = function(e, t) {
                return e === t && (O = !0),
                0
            },
            V = {}.hasOwnProperty,
            X = [],
            J = X.pop,
            Q = X.push,
            Y = X.push,
            K = X.slice,
            Z = function(e, t) {
                for (var n = 0,
                r = e.length; n < r; n++) if (e[n] === t) return n;
                return - 1
            },
            ee = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
            te = "[\\x20\\t\\r\\n\\f]",
            ne = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
            re = "\\[" + te + "*(" + ne + ")(?:" + te + "*([*^$|!~]?=)" + te + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + ne + "))|)" + te + "*\\]",
            oe = ":(" + ne + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + re + ")*)|.*)\\)|)",
            ie = new RegExp(te + "+", "g"),
            ae = new RegExp("^" + te + "+|((?:^|[^\\\\])(?:\\\\.)*)" + te + "+$", "g"),
            se = new RegExp("^" + te + "*," + te + "*"),
            ue = new RegExp("^" + te + "*([>+~]|" + te + ")" + te + "*"),
            ce = new RegExp(te + "|>"),
            le = new RegExp(oe),
            fe = new RegExp("^" + ne + "$"),
            de = {
                ID: new RegExp("^#(" + ne + ")"),
                CLASS: new RegExp("^\\.(" + ne + ")"),
                TAG: new RegExp("^(" + ne + "|[*])"),
                ATTR: new RegExp("^" + re),
                PSEUDO: new RegExp("^" + oe),
                CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + te + "*(even|odd|(([+-]|)(\\d*)n|)" + te + "*(?:([+-]|)" + te + "*(\\d+)|))" + te + "*\\)|)", "i"),
                bool: new RegExp("^(?:" + ee + ")$", "i"),
                needsContext: new RegExp("^" + te + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + te + "*((?:-\\d)?\\d*)" + te + "*\\)|)(?=[^-]|$)", "i")
            },
            pe = /HTML$/i,
            he = /^(?:input|select|textarea|button)$/i,
            ge = /^h\d$/i,
            me = /^[^{]+\{\s*\[native \w/,
            ve = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
            ye = /[+~]/,
            be = new RegExp("\\\\([\\da-f]{1,6}" + te + "?|(" + te + ")|.)", "ig"),
            we = function(e, t, n) {
                var r = "0x" + t - 65536;
                return r !== r || n ? t: r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
            },
            xe = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
            Te = function(e, t) {
                return t ? "\0" === e ? "�": e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " ": "\\" + e
            },
            Ce = function() {
                $()
            },
            Se = d(function(e) {
                return ! 0 === e.disabled && "fieldset" === e.nodeName.toLowerCase()
            },
            {
                dir: "parentNode",
                next: "legend"
            });
            try {
                Y.apply(X = K.call(H.childNodes), H.childNodes),
                X[H.childNodes.length].nodeType
            } catch(e) {
                Y = {
                    apply: X.length ?
                    function(e, t) {
                        Q.apply(e, K.call(t))
                    }: function(e, t) {
                        for (var n = e.length,
                        r = 0; e[n++] = t[r++];);
                        e.length = n - 1
                    }
                }
            }
            w = t.support = {},
            C = t.isXML = function(e) {
                var t = e.namespaceURI,
                n = (e.ownerDocument || e).documentElement;
                return ! pe.test(t || n && n.nodeName || "HTML")
            },
            $ = t.setDocument = function(e) {
                var t, n, r = e ? e.ownerDocument || e: H;
                return r !== M && 9 === r.nodeType && r.documentElement ? (M = r, N = M.documentElement, _ = !C(M), H !== M && (n = M.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", Ce, !1) : n.attachEvent && n.attachEvent("onunload", Ce)), w.attributes = o(function(e) {
                    return e.className = "i",
                    !e.getAttribute("className")
                }), w.getElementsByTagName = o(function(e) {
                    return e.appendChild(M.createComment("")),
                    !e.getElementsByTagName("*").length
                }), w.getElementsByClassName = me.test(M.getElementsByClassName), w.getById = o(function(e) {
                    return N.appendChild(e).id = q,
                    !M.getElementsByName || !M.getElementsByName(q).length
                }), w.getById ? (x.filter.ID = function(e) {
                    var t = e.replace(be, we);
                    return function(e) {
                        return e.getAttribute("id") === t
                    }
                },
                x.find.ID = function(e, t) {
                    if (void 0 !== t.getElementById && _) {
                        var n = t.getElementById(e);
                        return n ? [n] : []
                    }
                }) : (x.filter.ID = function(e) {
                    var t = e.replace(be, we);
                    return function(e) {
                        var n = void 0 !== e.getAttributeNode && e.getAttributeNode("id");
                        return n && n.value === t
                    }
                },
                x.find.ID = function(e, t) {
                    if (void 0 !== t.getElementById && _) {
                        var n, r, o, i = t.getElementById(e);
                        if (i) {
                            if ((n = i.getAttributeNode("id")) && n.value === e) return [i];
                            for (o = t.getElementsByName(e), r = 0; i = o[r++];) if ((n = i.getAttributeNode("id")) && n.value === e) return [i]
                        }
                        return []
                    }
                }), x.find.TAG = w.getElementsByTagName ?
                function(e, t) {
                    return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : w.qsa ? t.querySelectorAll(e) : void 0
                }: function(e, t) {
                    var n, r = [],
                    o = 0,
                    i = t.getElementsByTagName(e);
                    if ("*" === e) {
                        for (; n = i[o++];) 1 === n.nodeType && r.push(n);
                        return r
                    }
                    return i
                },
                x.find.CLASS = w.getElementsByClassName &&
                function(e, t) {
                    if (void 0 !== t.getElementsByClassName && _) return t.getElementsByClassName(e)
                },
                I = [], P = [], (w.qsa = me.test(M.querySelectorAll)) && (o(function(e) {
                    N.appendChild(e).innerHTML = "<a id='" + q + "'></a><select id='" + q + "-\r\\' msallowcapture=''><option selected=''></option></select>",
                    e.querySelectorAll("[msallowcapture^='']").length && P.push("[*^$]=" + te + "*(?:''|\"\")"),
                    e.querySelectorAll("[selected]").length || P.push("\\[" + te + "*(?:value|" + ee + ")"),
                    e.querySelectorAll("[id~=" + q + "-]").length || P.push("~="),
                    e.querySelectorAll(":checked").length || P.push(":checked"),
                    e.querySelectorAll("a#" + q + "+*").length || P.push(".#.+[+~]")
                }), o(function(e) {
                    e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
                    var t = M.createElement("input");
                    t.setAttribute("type", "hidden"),
                    e.appendChild(t).setAttribute("name", "D"),
                    e.querySelectorAll("[name=d]").length && P.push("name" + te + "*[*^$|!~]?="),
                    2 !== e.querySelectorAll(":enabled").length && P.push(":enabled", ":disabled"),
                    N.appendChild(e).disabled = !0,
                    2 !== e.querySelectorAll(":disabled").length && P.push(":enabled", ":disabled"),
                    e.querySelectorAll("*,:x"),
                    P.push(",.*:")
                })), (w.matchesSelector = me.test(D = N.matches || N.webkitMatchesSelector || N.mozMatchesSelector || N.oMatchesSelector || N.msMatchesSelector)) && o(function(e) {
                    w.disconnectedMatch = D.call(e, "*"),
                    D.call(e, "[s!='']:x"),
                    I.push("!=", oe)
                }), P = P.length && new RegExp(P.join("|")), I = I.length && new RegExp(I.join("|")), t = me.test(N.compareDocumentPosition), L = t || me.test(N.contains) ?
                function(e, t) {
                    var n = 9 === e.nodeType ? e.documentElement: e,
                    r = t && t.parentNode;
                    return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
                }: function(e, t) {
                    if (t) for (; t = t.parentNode;) if (t === e) return ! 0;
                    return ! 1
                },
                G = t ?
                function(e, t) {
                    if (e === t) return O = !0,
                    0;
                    var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
                    return n || (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === M || e.ownerDocument === H && L(H, e) ? -1 : t === M || t.ownerDocument === H && L(H, t) ? 1 : j ? Z(j, e) - Z(j, t) : 0 : 4 & n ? -1 : 1)
                }: function(e, t) {
                    if (e === t) return O = !0,
                    0;
                    var n, r = 0,
                    o = e.parentNode,
                    i = t.parentNode,
                    s = [e],
                    u = [t];
                    if (!o || !i) return e === M ? -1 : t === M ? 1 : o ? -1 : i ? 1 : j ? Z(j, e) - Z(j, t) : 0;
                    if (o === i) return a(e, t);
                    for (n = e; n = n.parentNode;) s.unshift(n);
                    for (n = t; n = n.parentNode;) u.unshift(n);
                    for (; s[r] === u[r];) r++;
                    return r ? a(s[r], u[r]) : s[r] === H ? -1 : u[r] === H ? 1 : 0
                },
                M) : M
            },
            t.matches = function(e, n) {
                return t(e, null, null, n)
            },
            t.matchesSelector = function(e, n) {
                if ((e.ownerDocument || e) !== M && $(e), w.matchesSelector && _ && !U[n + " "] && (!I || !I.test(n)) && (!P || !P.test(n))) try {
                    var r = D.call(e, n);
                    if (r || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
                } catch(e) {
                    U(n, !0)
                }
                return t(n, M, null, [e]).length > 0
            },
            t.contains = function(e, t) {
                return (e.ownerDocument || e) !== M && $(e),
                L(e, t)
            },
            t.attr = function(e, t) { (e.ownerDocument || e) !== M && $(e);
                var n = x.attrHandle[t.toLowerCase()],
                r = n && V.call(x.attrHandle, t.toLowerCase()) ? n(e, t, !_) : void 0;
                return void 0 !== r ? r: w.attributes || !_ ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value: null
            },
            t.escape = function(e) {
                return (e + "").replace(xe, Te)
            },
            t.error = function(e) {
                throw new Error("Syntax error, unrecognized expression: " + e)
            },
            t.uniqueSort = function(e) {
                var t, n = [],
                r = 0,
                o = 0;
                if (O = !w.detectDuplicates, j = !w.sortStable && e.slice(0), e.sort(G), O) {
                    for (; t = e[o++];) t === e[o] && (r = n.push(o));
                    for (; r--;) e.splice(n[r], 1)
                }
                return j = null,
                e
            },
            T = t.getText = function(e) {
                var t, n = "",
                r = 0,
                o = e.nodeType;
                if (o) {
                    if (1 === o || 9 === o || 11 === o) {
                        if ("string" == typeof e.textContent) return e.textContent;
                        for (e = e.firstChild; e; e = e.nextSibling) n += T(e)
                    } else if (3 === o || 4 === o) return e.nodeValue
                } else for (; t = e[r++];) n += T(t);
                return n
            },
            x = t.selectors = {
                cacheLength: 50,
                createPseudo: r,
                match: de,
                attrHandle: {},
                find: {},
                relative: {
                    ">": {
                        dir: "parentNode",
                        first: !0
                    },
                    " ": {
                        dir: "parentNode"
                    },
                    "+": {
                        dir: "previousSibling",
                        first: !0
                    },
                    "~": {
                        dir: "previousSibling"
                    }
                },
                preFilter: {
                    ATTR: function(e) {
                        return e[1] = e[1].replace(be, we),
                        e[3] = (e[3] || e[4] || e[5] || "").replace(be, we),
                        "~=" === e[2] && (e[3] = " " + e[3] + " "),
                        e.slice(0, 4)
                    },
                    CHILD: function(e) {
                        return e[1] = e[1].toLowerCase(),
                        "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]),
                        e
                    },
                    PSEUDO: function(e) {
                        var t, n = !e[6] && e[2];
                        return de.CHILD.test(e[0]) ? null: (e[3] ? e[2] = e[4] || e[5] || "": n && le.test(n) && (t = S(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
                    }
                },
                filter: {
                    TAG: function(e) {
                        var t = e.replace(be, we).toLowerCase();
                        return "*" === e ?
                        function() {
                            return ! 0
                        }: function(e) {
                            return e.nodeName && e.nodeName.toLowerCase() === t
                        }
                    },
                    CLASS: function(e) {
                        var t = z[e + " "];
                        return t || (t = new RegExp("(^|" + te + ")" + e + "(" + te + "|$)")) && z(e,
                        function(e) {
                            return t.test("string" == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute("class") || "")
                        })
                    },
                    ATTR: function(e, n, r) {
                        return function(o) {
                            var i = t.attr(o, e);
                            return null == i ? "!=" === n: !n || (i += "", "=" === n ? i === r: "!=" === n ? i !== r: "^=" === n ? r && 0 === i.indexOf(r) : "*=" === n ? r && i.indexOf(r) > -1 : "$=" === n ? r && i.slice( - r.length) === r: "~=" === n ? (" " + i.replace(ie, " ") + " ").indexOf(r) > -1 : "|=" === n && (i === r || i.slice(0, r.length + 1) === r + "-"))
                        }
                    },
                    CHILD: function(e, t, n, r, o) {
                        var i = "nth" !== e.slice(0, 3),
                        a = "last" !== e.slice( - 4),
                        s = "of-type" === t;
                        return 1 === r && 0 === o ?
                        function(e) {
                            return !! e.parentNode
                        }: function(t, n, u) {
                            var c, l, f, d, p, h, g = i !== a ? "nextSibling": "previousSibling",
                            m = t.parentNode,
                            v = s && t.nodeName.toLowerCase(),
                            y = !u && !s,
                            b = !1;
                            if (m) {
                                if (i) {
                                    for (; g;) {
                                        for (d = t; d = d[g];) if (s ? d.nodeName.toLowerCase() === v: 1 === d.nodeType) return ! 1;
                                        h = g = "only" === e && !h && "nextSibling"
                                    }
                                    return ! 0
                                }
                                if (h = [a ? m.firstChild: m.lastChild], a && y) {
                                    for (d = m, f = d[q] || (d[q] = {}), l = f[d.uniqueID] || (f[d.uniqueID] = {}), c = l[e] || [], p = c[0] === R && c[1], b = p && c[2], d = p && m.childNodes[p]; d = ++p && d && d[g] || (b = p = 0) || h.pop();) if (1 === d.nodeType && ++b && d === t) {
                                        l[e] = [R, p, b];
                                        break
                                    }
                                } else if (y && (d = t, f = d[q] || (d[q] = {}), l = f[d.uniqueID] || (f[d.uniqueID] = {}), c = l[e] || [], p = c[0] === R && c[1], b = p), !1 === b) for (; (d = ++p && d && d[g] || (b = p = 0) || h.pop()) && ((s ? d.nodeName.toLowerCase() !== v: 1 !== d.nodeType) || !++b || (y && (f = d[q] || (d[q] = {}), l = f[d.uniqueID] || (f[d.uniqueID] = {}), l[e] = [R, b]), d !== t)););
                                return (b -= o) === r || b % r == 0 && b / r >= 0
                            }
                        }
                    },
                    PSEUDO: function(e, n) {
                        var o, i = x.pseudos[e] || x.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
                        return i[q] ? i(n) : i.length > 1 ? (o = [e, e, "", n], x.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function(e, t) {
                            for (var r, o = i(e, n), a = o.length; a--;) r = Z(e, o[a]),
                            e[r] = !(t[r] = o[a])
                        }) : function(e) {
                            return i(e, 0, o)
                        }) : i
                    }
                },
                pseudos: {
                    not: r(function(e) {
                        var t = [],
                        n = [],
                        o = A(e.replace(ae, "$1"));
                        return o[q] ? r(function(e, t, n, r) {
                            for (var i, a = o(e, null, r, []), s = e.length; s--;)(i = a[s]) && (e[s] = !(t[s] = i))
                        }) : function(e, r, i) {
                            return t[0] = e,
                            o(t, null, i, n),
                            t[0] = null,
                            !n.pop()
                        }
                    }),
                    has: r(function(e) {
                        return function(n) {
                            return t(e, n).length > 0
                        }
                    }),
                    contains: r(function(e) {
                        return e = e.replace(be, we),
                        function(t) {
                            return (t.textContent || T(t)).indexOf(e) > -1
                        }
                    }),
                    lang: r(function(e) {
                        return fe.test(e || "") || t.error("unsupported lang: " + e),
                        e = e.replace(be, we).toLowerCase(),
                        function(t) {
                            var n;
                            do {
                                if (n = _ ? t.lang: t.getAttribute("xml:lang") || t.getAttribute("lang")) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + "-")
                            } while (( t = t . parentNode ) && 1 === t.nodeType);
                            return ! 1
                        }
                    }),
                    target: function(t) {
                        var n = e.location && e.location.hash;
                        return n && n.slice(1) === t.id
                    },
                    root: function(e) {
                        return e === N
                    },
                    focus: function(e) {
                        return e === M.activeElement && (!M.hasFocus || M.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
                    },
                    enabled: s(!1),
                    disabled: s(!0),
                    checked: function(e) {
                        var t = e.nodeName.toLowerCase();
                        return "input" === t && !!e.checked || "option" === t && !!e.selected
                    },
                    selected: function(e) {
                        return e.parentNode && e.parentNode.selectedIndex,
                        !0 === e.selected
                    },
                    empty: function(e) {
                        for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return ! 1;
                        return ! 0
                    },
                    parent: function(e) {
                        return ! x.pseudos.empty(e)
                    },
                    header: function(e) {
                        return ge.test(e.nodeName)
                    },
                    input: function(e) {
                        return he.test(e.nodeName)
                    },
                    button: function(e) {
                        var t = e.nodeName.toLowerCase();
                        return "input" === t && "button" === e.type || "button" === t
                    },
                    text: function(e) {
                        var t;
                        return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
                    },
                    first: u(function() {
                        return [0]
                    }),
                    last: u(function(e, t) {
                        return [t - 1]
                    }),
                    eq: u(function(e, t, n) {
                        return [n < 0 ? n + t: n]
                    }),
                    even: u(function(e, t) {
                        for (var n = 0; n < t; n += 2) e.push(n);
                        return e
                    }),
                    odd: u(function(e, t) {
                        for (var n = 1; n < t; n += 2) e.push(n);
                        return e
                    }),
                    lt: u(function(e, t, n) {
                        for (var r = n < 0 ? n + t: n > t ? t: n; --r >= 0;) e.push(r);
                        return e
                    }),
                    gt: u(function(e, t, n) {
                        for (var r = n < 0 ? n + t: n; ++r < t;) e.push(r);
                        return e
                    })
                }
            },
            x.pseudos.nth = x.pseudos.eq;
            for (b in {
                radio: !0,
                checkbox: !0,
                file: !0,
                password: !0,
                image: !0
            }) x.pseudos[b] = function(e) {
                return function(t) {
                    return "input" === t.nodeName.toLowerCase() && t.type === e
                }
            } (b);
            for (b in {
                submit: !0,
                reset: !0
            }) x.pseudos[b] = function(e) {
                return function(t) {
                    var n = t.nodeName.toLowerCase();
                    return ("input" === n || "button" === n) && t.type === e
                }
            } (b);
            return l.prototype = x.filters = x.pseudos,
            x.setFilters = new l,
            S = t.tokenize = function(e, n) {
                var r, o, i, a, s, u, c, l = B[e + " "];
                if (l) return n ? 0 : l.slice(0);
                for (s = e, u = [], c = x.preFilter; s;) {
                    r && !(o = se.exec(s)) || (o && (s = s.slice(o[0].length) || s), u.push(i = [])),
                    r = !1,
                    (o = ue.exec(s)) && (r = o.shift(), i.push({
                        value: r,
                        type: o[0].replace(ae, " ")
                    }), s = s.slice(r.length));
                    for (a in x.filter) ! (o = de[a].exec(s)) || c[a] && !(o = c[a](o)) || (r = o.shift(), i.push({
                        value: r,
                        type: a,
                        matches: o
                    }), s = s.slice(r.length));
                    if (!r) break
                }
                return n ? s.length: s ? t.error(e) : B(e, u).slice(0)
            },
            A = t.compile = function(e, t) {
                var n, r = [],
                o = [],
                i = W[e + " "];
                if (!i) {
                    for (t || (t = S(e)), n = t.length; n--;) i = v(t[n]),
                    i[q] ? r.push(i) : o.push(i);
                    i = W(e, y(o, r)),
                    i.selector = e
                }
                return i
            },
            E = t.select = function(e, t, n, r) {
                var o, i, a, s, u, l = "function" == typeof e && e,
                d = !r && S(e = l.selector || e);
                if (n = n || [], 1 === d.length) {
                    if (i = d[0] = d[0].slice(0), i.length > 2 && "ID" === (a = i[0]).type && 9 === t.nodeType && _ && x.relative[i[1].type]) {
                        if (! (t = (x.find.ID(a.matches[0].replace(be, we), t) || [])[0])) return n;
                        l && (t = t.parentNode),
                        e = e.slice(i.shift().value.length)
                    }
                    for (o = de.needsContext.test(e) ? 0 : i.length; o--&&(a = i[o], !x.relative[s = a.type]);) if ((u = x.find[s]) && (r = u(a.matches[0].replace(be, we), ye.test(i[0].type) && c(t.parentNode) || t))) {
                        if (i.splice(o, 1), !(e = r.length && f(i))) return Y.apply(n, r),
                        n;
                        break
                    }
                }
                return (l || A(e, d))(r, t, !_, n, !t || ye.test(e) && c(t.parentNode) || t),
                n
            },
            w.sortStable = q.split("").sort(G).join("") === q,
            w.detectDuplicates = !!O,
            $(),
            w.sortDetached = o(function(e) {
                return 1 & e.compareDocumentPosition(M.createElement("fieldset"))
            }),
            o(function(e) {
                return e.innerHTML = "<a href='#'></a>",
                "#" === e.firstChild.getAttribute("href")
            }) || i("type|href|height|width",
            function(e, t, n) {
                if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
            }),
            w.attributes && o(function(e) {
                return e.innerHTML = "<input/>",
                e.firstChild.setAttribute("value", ""),
                "" === e.firstChild.getAttribute("value")
            }) || i("value",
            function(e, t, n) {
                if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
            }),
            o(function(e) {
                return null == e.getAttribute("disabled")
            }) || i(ee,
            function(e, t, n) {
                var r;
                if (!n) return ! 0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value: null
            }),
            t
        } (n);
        ke.find = Oe,
        ke.expr = Oe.selectors,
        ke.expr[":"] = ke.expr.pseudos,
        ke.uniqueSort = ke.unique = Oe.uniqueSort,
        ke.text = Oe.getText,
        ke.isXMLDoc = Oe.isXML,
        ke.contains = Oe.contains,
        ke.escapeSelector = Oe.escape;
        var $e = function(e, t, n) {
            for (var r = [], o = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) {
                if (o && ke(e).is(n)) break;
                r.push(e)
            }
            return r
        },
        Me = function(e, t) {
            for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
            return n
        },
        Ne = ke.expr.match.needsContext,
        _e = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
        ke.filter = function(e, t, n) {
            var r = t[0];
            return n && (e = ":not(" + e + ")"),
            1 === t.length && 1 === r.nodeType ? ke.find.matchesSelector(r, e) ? [r] : [] : ke.find.matches(e, ke.grep(t,
            function(e) {
                return 1 === e.nodeType
            }))
        },
        ke.fn.extend({
            find: function(e) {
                var t, n, r = this.length,
                o = this;
                if ("string" != typeof e) return this.pushStack(ke(e).filter(function() {
                    for (t = 0; t < r; t++) if (ke.contains(o[t], this)) return ! 0
                }));
                for (n = this.pushStack([]), t = 0; t < r; t++) ke.find(e, o[t], n);
                return r > 1 ? ke.uniqueSort(n) : n
            },
            filter: function(e) {
                return this.pushStack(l(this, e || [], !1))
            },
            not: function(e) {
                return this.pushStack(l(this, e || [], !0))
            },
            is: function(e) {
                return !! l(this, "string" == typeof e && Ne.test(e) ? ke(e) : e || [], !1).length
            }
        });
        var Pe, Ie = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (ke.fn.init = function(e, t, n) {
            var r, o;
            if (!e) return this;
            if (n = n || Pe, "string" == typeof e) {
                if (! (r = "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 ? [null, e, null] : Ie.exec(e)) || !r[1] && t) return ! t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
                if (r[1]) {
                    if (t = t instanceof ke ? t[0] : t, ke.merge(this, ke.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t: de, !0)), _e.test(r[1]) && ke.isPlainObject(t)) for (r in t) Se(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
                    return this
                }
                return o = de.getElementById(r[2]),
                o && (this[0] = o, this.length = 1),
                this
            }
            return e.nodeType ? (this[0] = e, this.length = 1, this) : Se(e) ? void 0 !== n.ready ? n.ready(e) : e(ke) : ke.makeArray(e, this)
        }).prototype = ke.fn,
        Pe = ke(de);
        var De = /^(?:parents|prev(?:Until|All))/,
        Le = {
            children: !0,
            contents: !0,
            next: !0,
            prev: !0
        };
        ke.fn.extend({
            has: function(e) {
                var t = ke(e, this),
                n = t.length;
                return this.filter(function() {
                    for (var e = 0; e < n; e++) if (ke.contains(this, t[e])) return ! 0
                })
            },
            closest: function(e, t) {
                var n, r = 0,
                o = this.length,
                i = [],
                a = "string" != typeof e && ke(e);
                if (!Ne.test(e)) for (; r < o; r++) for (n = this[r]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && ke.find.matchesSelector(n, e))) {
                    i.push(n);
                    break
                }
                return this.pushStack(i.length > 1 ? ke.uniqueSort(i) : i)
            },
            index: function(e) {
                return e ? "string" == typeof e ? ve.call(ke(e), this[0]) : ve.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length: -1
            },
            add: function(e, t) {
                return this.pushStack(ke.uniqueSort(ke.merge(this.get(), ke(e, t))))
            },
            addBack: function(e) {
                return this.add(null == e ? this.prevObject: this.prevObject.filter(e))
            }
        }),
        ke.each({
            parent: function(e) {
                var t = e.parentNode;
                return t && 11 !== t.nodeType ? t: null
            },
            parents: function(e) {
                return $e(e, "parentNode")
            },
            parentsUntil: function(e, t, n) {
                return $e(e, "parentNode", n)
            },
            next: function(e) {
                return f(e, "nextSibling")
            },
            prev: function(e) {
                return f(e, "previousSibling")
            },
            nextAll: function(e) {
                return $e(e, "nextSibling")
            },
            prevAll: function(e) {
                return $e(e, "previousSibling")
            },
            nextUntil: function(e, t, n) {
                return $e(e, "nextSibling", n)
            },
            prevUntil: function(e, t, n) {
                return $e(e, "previousSibling", n)
            },
            siblings: function(e) {
                return Me((e.parentNode || {}).firstChild, e)
            },
            children: function(e) {
                return Me(e.firstChild)
            },
            contents: function(e) {
                return void 0 !== e.contentDocument ? e.contentDocument: (c(e, "template") && (e = e.content || e), ke.merge([], e.childNodes))
            }
        },
        function(e, t) {
            ke.fn[e] = function(n, r) {
                var o = ke.map(this, t, n);
                return "Until" !== e.slice( - 5) && (r = n),
                r && "string" == typeof r && (o = ke.filter(r, o)),
                this.length > 1 && (Le[e] || ke.uniqueSort(o), De.test(e) && o.reverse()),
                this.pushStack(o)
            }
        });
        var qe = /[^\x20\t\r\n\f]+/g;
        ke.Callbacks = function(e) {
            e = "string" == typeof e ? d(e) : ke.extend({},
            e);
            var t, n, r, o, i = [],
            a = [],
            u = -1,
            c = function() {
                for (o = o || e.once, r = t = !0; a.length; u = -1) for (n = a.shift(); ++u < i.length;) ! 1 === i[u].apply(n[0], n[1]) && e.stopOnFalse && (u = i.length, n = !1);
                e.memory || (n = !1),
                t = !1,
                o && (i = n ? [] : "")
            },
            l = {
                add: function() {
                    return i && (n && !t && (u = i.length - 1, a.push(n)),
                    function t(n) {
                        ke.each(n,
                        function(n, r) {
                            Se(r) ? e.unique && l.has(r) || i.push(r) : r && r.length && "string" !== s(r) && t(r)
                        })
                    } (arguments), n && !t && c()),
                    this
                },
                remove: function() {
                    return ke.each(arguments,
                    function(e, t) {
                        for (var n; (n = ke.inArray(t, i, n)) > -1;) i.splice(n, 1),
                        n <= u && u--
                    }),
                    this
                },
                has: function(e) {
                    return e ? ke.inArray(e, i) > -1 : i.length > 0
                },
                empty: function() {
                    return i && (i = []),
                    this
                },
                disable: function() {
                    return o = a = [],
                    i = n = "",
                    this
                },
                disabled: function() {
                    return ! i
                },
                lock: function() {
                    return o = a = [],
                    n || t || (i = n = ""),
                    this
                },
                locked: function() {
                    return !! o
                },
                fireWith: function(e, n) {
                    return o || (n = n || [], n = [e, n.slice ? n.slice() : n], a.push(n), t || c()),
                    this
                },
                fire: function() {
                    return l.fireWith(this, arguments),
                    this
                },
                fired: function() {
                    return !! r
                }
            };
            return l
        },
        ke.extend({
            Deferred: function(e) {
                var t = [["notify", "progress", ke.Callbacks("memory"), ke.Callbacks("memory"), 2], ["resolve", "done", ke.Callbacks("once memory"), ke.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", ke.Callbacks("once memory"), ke.Callbacks("once memory"), 1, "rejected"]],
                r = "pending",
                o = {
                    state: function() {
                        return r
                    },
                    always: function() {
                        return i.done(arguments).fail(arguments),
                        this
                    },
                    catch: function(e) {
                        return o.then(null, e)
                    },
                    pipe: function() {
                        var e = arguments;
                        return ke.Deferred(function(n) {
                            ke.each(t,
                            function(t, r) {
                                var o = Se(e[r[4]]) && e[r[4]];
                                i[r[1]](function() {
                                    var e = o && o.apply(this, arguments);
                                    e && Se(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[r[0] + "With"](this, o ? [e] : arguments)
                                })
                            }),
                            e = null
                        }).promise()
                    },
                    then: function(e, r, o) {
                        function i(e, t, r, o) {
                            return function() {
                                var s = this,
                                u = arguments,
                                c = function() {
                                    var n, c;
                                    if (! (e < a)) {
                                        if ((n = r.apply(s, u)) === t.promise()) throw new TypeError("Thenable self-resolution");
                                        c = n && ("object" == typeof n || "function" == typeof n) && n.then,
                                        Se(c) ? o ? c.call(n, i(a, t, p, o), i(a, t, h, o)) : (a++, c.call(n, i(a, t, p, o), i(a, t, h, o), i(a, t, p, t.notifyWith))) : (r !== p && (s = void 0, u = [n]), (o || t.resolveWith)(s, u))
                                    }
                                },
                                l = o ? c: function() {
                                    try {
                                        c()
                                    } catch(n) {
                                        ke.Deferred.exceptionHook && ke.Deferred.exceptionHook(n, l.stackTrace),
                                        e + 1 >= a && (r !== h && (s = void 0, u = [n]), t.rejectWith(s, u))
                                    }
                                };
                                e ? l() : (ke.Deferred.getStackHook && (l.stackTrace = ke.Deferred.getStackHook()), n.setTimeout(l))
                            }
                        }
                        var a = 0;
                        return ke.Deferred(function(n) {
                            t[0][3].add(i(0, n, Se(o) ? o: p, n.notifyWith)),
                            t[1][3].add(i(0, n, Se(e) ? e: p)),
                            t[2][3].add(i(0, n, Se(r) ? r: h))
                        }).promise()
                    },
                    promise: function(e) {
                        return null != e ? ke.extend(e, o) : o
                    }
                },
                i = {};
                return ke.each(t,
                function(e, n) {
                    var a = n[2],
                    s = n[5];
                    o[n[1]] = a.add,
                    s && a.add(function() {
                        r = s
                    },
                    t[3 - e][2].disable, t[3 - e][3].disable, t[0][2].lock, t[0][3].lock),
                    a.add(n[3].fire),
                    i[n[0]] = function() {
                        return i[n[0] + "With"](this === i ? void 0 : this, arguments),
                        this
                    },
                    i[n[0] + "With"] = a.fireWith
                }),
                o.promise(i),
                e && e.call(i, i),
                i
            },
            when: function(e) {
                var t = arguments.length,
                n = t,
                r = Array(n),
                o = he.call(arguments),
                i = ke.Deferred(),
                a = function(e) {
                    return function(n) {
                        r[e] = this,
                        o[e] = arguments.length > 1 ? he.call(arguments) : n,
                        --t || i.resolveWith(r, o)
                    }
                };
                if (t <= 1 && (g(e, i.done(a(n)).resolve, i.reject, !t), "pending" === i.state() || Se(o[n] && o[n].then))) return i.then();
                for (; n--;) g(o[n], a(n), i.reject);
                return i.promise()
            }
        });
        var He = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
        ke.Deferred.exceptionHook = function(e, t) {
            n.console && n.console.warn && e && He.test(e.name) && n.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t)
        },
        ke.readyException = function(e) {
            n.setTimeout(function() {
                throw e
            })
        };
        var Re = ke.Deferred();
        ke.fn.ready = function(e) {
            return Re.then(e).
            catch(function(e) {
                ke.readyException(e)
            }),
            this
        },
        ke.extend({
            isReady: !1,
            readyWait: 1,
            ready: function(e) { (!0 === e ? --ke.readyWait: ke.isReady) || (ke.isReady = !0, !0 !== e && --ke.readyWait > 0 || Re.resolveWith(de, [ke]))
            }
        }),
        ke.ready.then = Re.then,
        "complete" === de.readyState || "loading" !== de.readyState && !de.documentElement.doScroll ? n.setTimeout(ke.ready) : (de.addEventListener("DOMContentLoaded", m), n.addEventListener("load", m));
        var Fe = function(e, t, n, r, o, i, a) {
            var u = 0,
            c = e.length,
            l = null == n;
            if ("object" === s(n)) {
                o = !0;
                for (u in n) Fe(e, t, u, n[u], !0, i, a)
            } else if (void 0 !== r && (o = !0, Se(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function(e, t, n) {
                return l.call(ke(e), n)
            })), t)) for (; u < c; u++) t(e[u], n, a ? r: r.call(e[u], u, t(e[u], n)));
            return o ? e: l ? t.call(e) : c ? t(e[0], n) : i
        },
        ze = /^-ms-/,
        Be = /-([a-z])/g,
        We = function(e) {
            return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType
        };
        b.uid = 1,
        b.prototype = {
            cache: function(e) {
                var t = e[this.expando];
                return t || (t = {},
                We(e) && (e.nodeType ? e[this.expando] = t: Object.defineProperty(e, this.expando, {
                    value: t,
                    configurable: !0
                }))),
                t
            },
            set: function(e, t, n) {
                var r, o = this.cache(e);
                if ("string" == typeof t) o[y(t)] = n;
                else for (r in t) o[y(r)] = t[r];
                return o
            },
            get: function(e, t) {
                return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][y(t)]
            },
            access: function(e, t, n) {
                return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n: t)
            },
            remove: function(e, t) {
                var n, r = e[this.expando];
                if (void 0 !== r) {
                    if (void 0 !== t) {
                        Array.isArray(t) ? t = t.map(y) : (t = y(t), t = t in r ? [t] : t.match(qe) || []),
                        n = t.length;
                        for (; n--;) delete r[t[n]]
                    } (void 0 === t || ke.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando])
                }
            },
            hasData: function(e) {
                var t = e[this.expando];
                return void 0 !== t && !ke.isEmptyObject(t)
            }
        };
        var Ue = new b,
        Ge = new b,
        Ve = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
        Xe = /[A-Z]/g;
        ke.extend({
            hasData: function(e) {
                return Ge.hasData(e) || Ue.hasData(e)
            },
            data: function(e, t, n) {
                return Ge.access(e, t, n)
            },
            removeData: function(e, t) {
                Ge.remove(e, t)
            },
            _data: function(e, t, n) {
                return Ue.access(e, t, n)
            },
            _removeData: function(e, t) {
                Ue.remove(e, t)
            }
        }),
        ke.fn.extend({
            data: function(e, t) {
                var n, r, o, i = this[0],
                a = i && i.attributes;
                if (void 0 === e) {
                    if (this.length && (o = Ge.get(i), 1 === i.nodeType && !Ue.get(i, "hasDataAttrs"))) {
                        for (n = a.length; n--;) a[n] && (r = a[n].name, 0 === r.indexOf("data-") && (r = y(r.slice(5)), x(i, r, o[r])));
                        Ue.set(i, "hasDataAttrs", !0)
                    }
                    return o
                }
                return "object" == typeof e ? this.each(function() {
                    Ge.set(this, e)
                }) : Fe(this,
                function(t) {
                    var n;
                    if (i && void 0 === t) {
                        if (void 0 !== (n = Ge.get(i, e))) return n;
                        if (void 0 !== (n = x(i, e))) return n
                    } else this.each(function() {
                        Ge.set(this, e, t)
                    })
                },
                null, t, arguments.length > 1, null, !0)
            },
            removeData: function(e) {
                return this.each(function() {
                    Ge.remove(this, e)
                })
            }
        }),
        ke.extend({
            queue: function(e, t, n) {
                var r;
                if (e) return t = (t || "fx") + "queue",
                r = Ue.get(e, t),
                n && (!r || Array.isArray(n) ? r = Ue.access(e, t, ke.makeArray(n)) : r.push(n)),
                r || []
            },
            dequeue: function(e, t) {
                t = t || "fx";
                var n = ke.queue(e, t),
                r = n.length,
                o = n.shift(),
                i = ke._queueHooks(e, t),
                a = function() {
                    ke.dequeue(e, t)
                };
                "inprogress" === o && (o = n.shift(), r--),
                o && ("fx" === t && n.unshift("inprogress"), delete i.stop, o.call(e, a, i)),
                !r && i && i.empty.fire()
            },
            _queueHooks: function(e, t) {
                var n = t + "queueHooks";
                return Ue.get(e, n) || Ue.access(e, n, {
                    empty: ke.Callbacks("once memory").add(function() {
                        Ue.remove(e, [t + "queue", n])
                    })
                })
            }
        }),
        ke.fn.extend({
            queue: function(e, t) {
                var n = 2;
                return "string" != typeof e && (t = e, e = "fx", n--),
                arguments.length < n ? ke.queue(this[0], e) : void 0 === t ? this: this.each(function() {
                    var n = ke.queue(this, e, t);
                    ke._queueHooks(this, e),
                    "fx" === e && "inprogress" !== n[0] && ke.dequeue(this, e)
                })
            },
            dequeue: function(e) {
                return this.each(function() {
                    ke.dequeue(this, e)
                })
            },
            clearQueue: function(e) {
                return this.queue(e || "fx", [])
            },
            promise: function(e, t) {
                var n, r = 1,
                o = ke.Deferred(),
                i = this,
                a = this.length,
                s = function() {--r || o.resolveWith(i, [i])
                };
                for ("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;)(n = Ue.get(i[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s));
                return s(),
                o.promise(t)
            }
        });
        var Je = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
        Qe = new RegExp("^(?:([+-])=|)(" + Je + ")([a-z%]*)$", "i"),
        Ye = ["Top", "Right", "Bottom", "Left"],
        Ke = de.documentElement,
        Ze = function(e) {
            return ke.contains(e.ownerDocument, e)
        },
        et = {
            composed: !0
        };
        Ke.getRootNode && (Ze = function(e) {
            return ke.contains(e.ownerDocument, e) || e.getRootNode(et) === e.ownerDocument
        });
        var tt = function(e, t) {
            return e = t || e,
            "none" === e.style.display || "" === e.style.display && Ze(e) && "none" === ke.css(e, "display")
        },
        nt = function(e, t, n, r) {
            var o, i, a = {};
            for (i in t) a[i] = e.style[i],
            e.style[i] = t[i];
            o = n.apply(e, r || []);
            for (i in t) e.style[i] = a[i];
            return o
        },
        rt = {};
        ke.fn.extend({
            show: function() {
                return S(this, !0)
            },
            hide: function() {
                return S(this)
            },
            toggle: function(e) {
                return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function() {
                    tt(this) ? ke(this).show() : ke(this).hide()
                })
            }
        });
        var ot = /^(?:checkbox|radio)$/i,
        it = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
        at = /^$|^module$|\/(?:java|ecma)script/i,
        st = {
            option: [1, "<select multiple='multiple'>", "</select>"],
            thead: [1, "<table>", "</table>"],
            col: [2, "<table><colgroup>", "</colgroup></table>"],
            tr: [2, "<table><tbody>", "</tbody></table>"],
            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
            _default: [0, "", ""]
        };
        st.optgroup = st.option,
        st.tbody = st.tfoot = st.colgroup = st.caption = st.thead,
        st.th = st.td;
        var ut = /<|&#?\w+;/; !
        function() {
            var e = de.createDocumentFragment(),
            t = e.appendChild(de.createElement("div")),
            n = de.createElement("input");
            n.setAttribute("type", "radio"),
            n.setAttribute("checked", "checked"),
            n.setAttribute("name", "t"),
            t.appendChild(n),
            Ce.checkClone = t.cloneNode(!0).cloneNode(!0).lastChild.checked,
            t.innerHTML = "<textarea>x</textarea>",
            Ce.noCloneChecked = !!t.cloneNode(!0).lastChild.defaultValue
        } ();
        var ct = /^key/,
        lt = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
        ft = /^([^.]*)(?:\.(.+)|)/;
        ke.event = {
            global: {},
            add: function(e, t, n, r, o) {
                var i, a, s, u, c, l, f, d, p, h, g, m = Ue.get(e);
                if (m) for (n.handler && (i = n, n = i.handler, o = i.selector), o && ke.find.matchesSelector(Ke, o), n.guid || (n.guid = ke.guid++), (u = m.events) || (u = m.events = {}), (a = m.handle) || (a = m.handle = function(t) {
                    return void 0 !== ke && ke.event.triggered !== t.type ? ke.event.dispatch.apply(e, arguments) : void 0
                }), t = (t || "").match(qe) || [""], c = t.length; c--;) s = ft.exec(t[c]) || [],
                p = g = s[1],
                h = (s[2] || "").split(".").sort(),
                p && (f = ke.event.special[p] || {},
                p = (o ? f.delegateType: f.bindType) || p, f = ke.event.special[p] || {},
                l = ke.extend({
                    type: p,
                    origType: g,
                    data: r,
                    handler: n,
                    guid: n.guid,
                    selector: o,
                    needsContext: o && ke.expr.match.needsContext.test(o),
                    namespace: h.join(".")
                },
                i), (d = u[p]) || (d = u[p] = [], d.delegateCount = 0, f.setup && !1 !== f.setup.call(e, r, h, a) || e.addEventListener && e.addEventListener(p, a)), f.add && (f.add.call(e, l), l.handler.guid || (l.handler.guid = n.guid)), o ? d.splice(d.delegateCount++, 0, l) : d.push(l), ke.event.global[p] = !0)
            },
            remove: function(e, t, n, r, o) {
                var i, a, s, u, c, l, f, d, p, h, g, m = Ue.hasData(e) && Ue.get(e);
                if (m && (u = m.events)) {
                    for (t = (t || "").match(qe) || [""], c = t.length; c--;) if (s = ft.exec(t[c]) || [], p = g = s[1], h = (s[2] || "").split(".").sort(), p) {
                        for (f = ke.event.special[p] || {},
                        p = (r ? f.delegateType: f.bindType) || p, d = u[p] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = i = d.length; i--;) l = d[i],
                        !o && g !== l.origType || n && n.guid !== l.guid || s && !s.test(l.namespace) || r && r !== l.selector && ("**" !== r || !l.selector) || (d.splice(i, 1), l.selector && d.delegateCount--, f.remove && f.remove.call(e, l));
                        a && !d.length && (f.teardown && !1 !== f.teardown.call(e, h, m.handle) || ke.removeEvent(e, p, m.handle), delete u[p])
                    } else for (p in u) ke.event.remove(e, p + t[c], n, r, !0);
                    ke.isEmptyObject(u) && Ue.remove(e, "handle events")
                }
            },
            dispatch: function(e) {
                var t, n, r, o, i, a, s = ke.event.fix(e),
                u = new Array(arguments.length),
                c = (Ue.get(this, "events") || {})[s.type] || [],
                l = ke.event.special[s.type] || {};
                for (u[0] = s, t = 1; t < arguments.length; t++) u[t] = arguments[t];
                if (s.delegateTarget = this, !l.preDispatch || !1 !== l.preDispatch.call(this, s)) {
                    for (a = ke.event.handlers.call(this, s, c), t = 0; (o = a[t++]) && !s.isPropagationStopped();) for (s.currentTarget = o.elem, n = 0; (i = o.handlers[n++]) && !s.isImmediatePropagationStopped();) s.rnamespace && !1 !== i.namespace && !s.rnamespace.test(i.namespace) || (s.handleObj = i, s.data = i.data, void 0 !== (r = ((ke.event.special[i.origType] || {}).handle || i.handler).apply(o.elem, u)) && !1 === (s.result = r) && (s.preventDefault(), s.stopPropagation()));
                    return l.postDispatch && l.postDispatch.call(this, s),
                    s.result
                }
            },
            handlers: function(e, t) {
                var n, r, o, i, a, s = [],
                u = t.delegateCount,
                c = e.target;
                if (u && c.nodeType && !("click" === e.type && e.button >= 1)) for (; c !== this; c = c.parentNode || this) if (1 === c.nodeType && ("click" !== e.type || !0 !== c.disabled)) {
                    for (i = [], a = {},
                    n = 0; n < u; n++) r = t[n],
                    o = r.selector + " ",
                    void 0 === a[o] && (a[o] = r.needsContext ? ke(o, this).index(c) > -1 : ke.find(o, this, null, [c]).length),
                    a[o] && i.push(r);
                    i.length && s.push({
                        elem: c,
                        handlers: i
                    })
                }
                return c = this,
                u < t.length && s.push({
                    elem: c,
                    handlers: t.slice(u)
                }),
                s
            },
            addProp: function(e, t) {
                Object.defineProperty(ke.Event.prototype, e, {
                    enumerable: !0,
                    configurable: !0,
                    get: Se(t) ?
                    function() {
                        if (this.originalEvent) return t(this.originalEvent)
                    }: function() {
                        if (this.originalEvent) return this.originalEvent[e]
                    },
                    set: function(t) {
                        Object.defineProperty(this, e, {
                            enumerable: !0,
                            configurable: !0,
                            writable: !0,
                            value: t
                        })
                    }
                })
            },
            fix: function(e) {
                return e[ke.expando] ? e: new ke.Event(e)
            },
            special: {
                load: {
                    noBubble: !0
                },
                click: {
                    setup: function(e) {
                        var t = this || e;
                        return ot.test(t.type) && t.click && c(t, "input") && _(t, "click", j),
                        !1
                    },
                    trigger: function(e) {
                        var t = this || e;
                        return ot.test(t.type) && t.click && c(t, "input") && _(t, "click"),
                        !0
                    },
                    _default: function(e) {
                        var t = e.target;
                        return ot.test(t.type) && t.click && c(t, "input") && Ue.get(t, "click") || c(t, "a")
                    }
                },
                beforeunload: {
                    postDispatch: function(e) {
                        void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
                    }
                }
            }
        },
        ke.removeEvent = function(e, t, n) {
            e.removeEventListener && e.removeEventListener(t, n)
        },
        ke.Event = function(e, t) {
            if (! (this instanceof ke.Event)) return new ke.Event(e, t);
            e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? j: O, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode: e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e,
            t && ke.extend(this, t),
            this.timeStamp = e && e.timeStamp || Date.now(),
            this[ke.expando] = !0
        },
        ke.Event.prototype = {
            constructor: ke.Event,
            isDefaultPrevented: O,
            isPropagationStopped: O,
            isImmediatePropagationStopped: O,
            isSimulated: !1,
            preventDefault: function() {
                var e = this.originalEvent;
                this.isDefaultPrevented = j,
                e && !this.isSimulated && e.preventDefault()
            },
            stopPropagation: function() {
                var e = this.originalEvent;
                this.isPropagationStopped = j,
                e && !this.isSimulated && e.stopPropagation()
            },
            stopImmediatePropagation: function() {
                var e = this.originalEvent;
                this.isImmediatePropagationStopped = j,
                e && !this.isSimulated && e.stopImmediatePropagation(),
                this.stopPropagation()
            }
        },
        ke.each({
            altKey: !0,
            bubbles: !0,
            cancelable: !0,
            changedTouches: !0,
            ctrlKey: !0,
            detail: !0,
            eventPhase: !0,
            metaKey: !0,
            pageX: !0,
            pageY: !0,
            shiftKey: !0,
            view: !0,
            char: !0,
            code: !0,
            charCode: !0,
            key: !0,
            keyCode: !0,
            button: !0,
            buttons: !0,
            clientX: !0,
            clientY: !0,
            offsetX: !0,
            offsetY: !0,
            pointerId: !0,
            pointerType: !0,
            screenX: !0,
            screenY: !0,
            targetTouches: !0,
            toElement: !0,
            touches: !0,
            which: function(e) {
                var t = e.button;
                return null == e.which && ct.test(e.type) ? null != e.charCode ? e.charCode: e.keyCode: !e.which && void 0 !== t && lt.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which
            }
        },
        ke.event.addProp),
        ke.each({
            focus: "focusin",
            blur: "focusout"
        },
        function(e, t) {
            ke.event.special[e] = {
                setup: function() {
                    return _(this, e, $),
                    !1
                },
                trigger: function() {
                    return _(this, e),
                    !0
                },
                delegateType: t
            }
        }),
        ke.each({
            mouseenter: "mouseover",
            mouseleave: "mouseout",
            pointerenter: "pointerover",
            pointerleave: "pointerout"
        },
        function(e, t) {
            ke.event.special[e] = {
                delegateType: t,
                bindType: t,
                handle: function(e) {
                    var n, r = this,
                    o = e.relatedTarget,
                    i = e.handleObj;
                    return o && (o === r || ke.contains(r, o)) || (e.type = i.origType, n = i.handler.apply(this, arguments), e.type = t),
                    n
                }
            }
        }),
        ke.fn.extend({
            on: function(e, t, n, r) {
                return N(this, e, t, n, r)
            },
            one: function(e, t, n, r) {
                return N(this, e, t, n, r, 1)
            },
            off: function(e, t, n) {
                var r, o;
                if (e && e.preventDefault && e.handleObj) return r = e.handleObj,
                ke(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace: r.origType, r.selector, r.handler),
                this;
                if ("object" == typeof e) {
                    for (o in e) this.off(o, t, e[o]);
                    return this
                }
                return ! 1 !== t && "function" != typeof t || (n = t, t = void 0),
                !1 === n && (n = O),
                this.each(function() {
                    ke.event.remove(this, e, n, t)
                })
            }
        });
        var dt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
        pt = /<script|<style|<link/i,
        ht = /checked\s*(?:[^=]|=\s*.checked.)/i,
        gt = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
        ke.extend({
            htmlPrefilter: function(e) {
                return e.replace(dt, "<$1></$2>")
            },
            clone: function(e, t, n) {
                var r, o, i, a, s = e.cloneNode(!0),
                u = Ze(e);
                if (! (Ce.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || ke.isXMLDoc(e))) for (a = A(s), i = A(e), r = 0, o = i.length; r < o; r++) q(i[r], a[r]);
                if (t) if (n) for (i = i || A(e), a = a || A(s), r = 0, o = i.length; r < o; r++) L(i[r], a[r]);
                else L(e, s);
                return a = A(s, "script"),
                a.length > 0 && E(a, !u && A(e, "script")),
                s
            },
            cleanData: function(e) {
                for (var t, n, r, o = ke.event.special,
                i = 0; void 0 !== (n = e[i]); i++) if (We(n)) {
                    if (t = n[Ue.expando]) {
                        if (t.events) for (r in t.events) o[r] ? ke.event.remove(n, r) : ke.removeEvent(n, r, t.handle);
                        n[Ue.expando] = void 0
                    }
                    n[Ge.expando] && (n[Ge.expando] = void 0)
                }
            }
        }),
        ke.fn.extend({
            detach: function(e) {
                return R(this, e, !0)
            },
            remove: function(e) {
                return R(this, e)
            },
            text: function(e) {
                return Fe(this,
                function(e) {
                    return void 0 === e ? ke.text(this) : this.empty().each(function() {
                        1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e)
                    })
                },
                null, e, arguments.length)
            },
            append: function() {
                return H(this, arguments,
                function(e) {
                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                        P(this, e).appendChild(e)
                    }
                })
            },
            prepend: function() {
                return H(this, arguments,
                function(e) {
                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
                        var t = P(this, e);
                        t.insertBefore(e, t.firstChild)
                    }
                })
            },
            before: function() {
                return H(this, arguments,
                function(e) {
                    this.parentNode && this.parentNode.insertBefore(e, this)
                })
            },
            after: function() {
                return H(this, arguments,
                function(e) {
                    this.parentNode && this.parentNode.insertBefore(e, this.nextSibling)
                })
            },
            empty: function() {
                for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (ke.cleanData(A(e, !1)), e.textContent = "");
                return this
            },
            clone: function(e, t) {
                return e = null != e && e,
                t = null == t ? e: t,
                this.map(function() {
                    return ke.clone(this, e, t)
                })
            },
            html: function(e) {
                return Fe(this,
                function(e) {
                    var t = this[0] || {},
                    n = 0,
                    r = this.length;
                    if (void 0 === e && 1 === t.nodeType) return t.innerHTML;
                    if ("string" == typeof e && !pt.test(e) && !st[(it.exec(e) || ["", ""])[1].toLowerCase()]) {
                        e = ke.htmlPrefilter(e);
                        try {
                            for (; n < r; n++) t = this[n] || {},
                            1 === t.nodeType && (ke.cleanData(A(t, !1)), t.innerHTML = e);
                            t = 0
                        } catch(e) {}
                    }
                    t && this.empty().append(e)
                },
                null, e, arguments.length)
            },
            replaceWith: function() {
                var e = [];
                return H(this, arguments,
                function(t) {
                    var n = this.parentNode;
                    ke.inArray(this, e) < 0 && (ke.cleanData(A(this)), n && n.replaceChild(t, this))
                },
                e)
            }
        }),
        ke.each({
            appendTo: "append",
            prependTo: "prepend",
            insertBefore: "before",
            insertAfter: "after",
            replaceAll: "replaceWith"
        },
        function(e, t) {
            ke.fn[e] = function(e) {
                for (var n, r = [], o = ke(e), i = o.length - 1, a = 0; a <= i; a++) n = a === i ? this: this.clone(!0),
                ke(o[a])[t](n),
                me.apply(r, n.get());
                return this.pushStack(r)
            }
        });
        var mt = new RegExp("^(" + Je + ")(?!px)[a-z%]+$", "i"),
        vt = function(e) {
            var t = e.ownerDocument.defaultView;
            return t && t.opener || (t = n),
            t.getComputedStyle(e)
        },
        yt = new RegExp(Ye.join("|"), "i"); !
        function() {
            function e() {
                if (c) {
                    u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",
                    c.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",
                    Ke.appendChild(u).appendChild(c);
                    var e = n.getComputedStyle(c);
                    r = "1%" !== e.top,
                    s = 12 === t(e.marginLeft),
                    c.style.right = "60%",
                    a = 36 === t(e.right),
                    o = 36 === t(e.width),
                    c.style.position = "absolute",
                    i = 12 === t(c.offsetWidth / 3),
                    Ke.removeChild(u),
                    c = null
                }
            }
            function t(e) {
                return Math.round(parseFloat(e))
            }
            var r, o, i, a, s, u = de.createElement("div"),
            c = de.createElement("div");
            c.style && (c.style.backgroundClip = "content-box", c.cloneNode(!0).style.backgroundClip = "", Ce.clearCloneStyle = "content-box" === c.style.backgroundClip, ke.extend(Ce, {
                boxSizingReliable: function() {
                    return e(),
                    o
                },
                pixelBoxStyles: function() {
                    return e(),
                    a
                },
                pixelPosition: function() {
                    return e(),
                    r
                },
                reliableMarginLeft: function() {
                    return e(),
                    s
                },
                scrollboxSize: function() {
                    return e(),
                    i
                }
            }))
        } ();
        var bt = ["Webkit", "Moz", "ms"],
        wt = de.createElement("div").style,
        xt = {},
        Tt = /^(none|table(?!-c[ea]).+)/,
        Ct = /^--/,
        St = {
            position: "absolute",
            visibility: "hidden",
            display: "block"
        },
        At = {
            letterSpacing: "0",
            fontWeight: "400"
        };
        ke.extend({
            cssHooks: {
                opacity: {
                    get: function(e, t) {
                        if (t) {
                            var n = F(e, "opacity");
                            return "" === n ? "1": n
                        }
                    }
                }
            },
            cssNumber: {
                animationIterationCount: !0,
                columnCount: !0,
                fillOpacity: !0,
                flexGrow: !0,
                flexShrink: !0,
                fontWeight: !0,
                gridArea: !0,
                gridColumn: !0,
                gridColumnEnd: !0,
                gridColumnStart: !0,
                gridRow: !0,
                gridRowEnd: !0,
                gridRowStart: !0,
                lineHeight: !0,
                opacity: !0,
                order: !0,
                orphans: !0,
                widows: !0,
                zIndex: !0,
                zoom: !0
            },
            cssProps: {},
            style: function(e, t, n, r) {
                if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) {
                    var o, i, a, s = y(t),
                    u = Ct.test(t),
                    c = e.style;
                    if (u || (t = W(s)), a = ke.cssHooks[t] || ke.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (o = a.get(e, !1, r)) ? o: c[t];
                    i = typeof n,
                    "string" === i && (o = Qe.exec(n)) && o[1] && (n = T(e, t, o), i = "number"),
                    null != n && n === n && ("number" !== i || u || (n += o && o[3] || (ke.cssNumber[s] ? "": "px")), Ce.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (c[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? c.setProperty(t, n) : c[t] = n))
                }
            },
            css: function(e, t, n, r) {
                var o, i, a, s = y(t);
                return Ct.test(t) || (t = W(s)),
                a = ke.cssHooks[t] || ke.cssHooks[s],
                a && "get" in a && (o = a.get(e, !0, n)),
                void 0 === o && (o = F(e, t, r)),
                "normal" === o && t in At && (o = At[t]),
                "" === n || n ? (i = parseFloat(o), !0 === n || isFinite(i) ? i || 0 : o) : o
            }
        }),
        ke.each(["height", "width"],
        function(e, t) {
            ke.cssHooks[t] = {
                get: function(e, n, r) {
                    if (n) return ! Tt.test(ke.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? V(e, t, r) : nt(e, St,
                    function() {
                        return V(e, t, r)
                    })
                },
                set: function(e, n, r) {
                    var o, i = vt(e),
                    a = !Ce.scrollboxSize() && "absolute" === i.position,
                    s = a || r,
                    u = s && "border-box" === ke.css(e, "boxSizing", !1, i),
                    c = r ? G(e, t, r, u, i) : 0;
                    return u && a && (c -= Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - parseFloat(i[t]) - G(e, t, "border", !1, i) - .5)),
                    c && (o = Qe.exec(n)) && "px" !== (o[3] || "px") && (e.style[t] = n, n = ke.css(e, t)),
                    U(e, n, c)
                }
            }
        }),
        ke.cssHooks.marginLeft = z(Ce.reliableMarginLeft,
        function(e, t) {
            if (t) return (parseFloat(F(e, "marginLeft")) || e.getBoundingClientRect().left - nt(e, {
                marginLeft: 0
            },
            function() {
                return e.getBoundingClientRect().left
            })) + "px"
        }),
        ke.each({
            margin: "",
            padding: "",
            border: "Width"
        },
        function(e, t) {
            ke.cssHooks[e + t] = {
                expand: function(n) {
                    for (var r = 0,
                    o = {},
                    i = "string" == typeof n ? n.split(" ") : [n]; r < 4; r++) o[e + Ye[r] + t] = i[r] || i[r - 2] || i[0];
                    return o
                }
            },
            "margin" !== e && (ke.cssHooks[e + t].set = U)
        }),
        ke.fn.extend({
            css: function(e, t) {
                return Fe(this,
                function(e, t, n) {
                    var r, o, i = {},
                    a = 0;
                    if (Array.isArray(t)) {
                        for (r = vt(e), o = t.length; a < o; a++) i[t[a]] = ke.css(e, t[a], !1, r);
                        return i
                    }
                    return void 0 !== n ? ke.style(e, t, n) : ke.css(e, t)
                },
                e, t, arguments.length > 1)
            }
        }),
        ke.Tween = X,
        X.prototype = {
            constructor: X,
            init: function(e, t, n, r, o, i) {
                this.elem = e,
                this.prop = n,
                this.easing = o || ke.easing._default,
                this.options = t,
                this.start = this.now = this.cur(),
                this.end = r,
                this.unit = i || (ke.cssNumber[n] ? "": "px")
            },
            cur: function() {
                var e = X.propHooks[this.prop];
                return e && e.get ? e.get(this) : X.propHooks._default.get(this)
            },
            run: function(e) {
                var t, n = X.propHooks[this.prop];
                return this.options.duration ? this.pos = t = ke.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e,
                this.now = (this.end - this.start) * t + this.start,
                this.options.step && this.options.step.call(this.elem, this.now, this),
                n && n.set ? n.set(this) : X.propHooks._default.set(this),
                this
            }
        },
        X.prototype.init.prototype = X.prototype,
        X.propHooks = {
            _default: {
                get: function(e) {
                    var t;
                    return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = ke.css(e.elem, e.prop, ""), t && "auto" !== t ? t: 0)
                },
                set: function(e) {
                    ke.fx.step[e.prop] ? ke.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !ke.cssHooks[e.prop] && null == e.elem.style[W(e.prop)] ? e.elem[e.prop] = e.now: ke.style(e.elem, e.prop, e.now + e.unit)
                }
            }
        },
        X.propHooks.scrollTop = X.propHooks.scrollLeft = {
            set: function(e) {
                e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now)
            }
        },
        ke.easing = {
            linear: function(e) {
                return e
            },
            swing: function(e) {
                return.5 - Math.cos(e * Math.PI) / 2
            },
            _default: "swing"
        },
        ke.fx = X.prototype.init,
        ke.fx.step = {};
        var Et, kt, jt = /^(?:toggle|show|hide)$/,
        Ot = /queueHooks$/;
        ke.Animation = ke.extend(te, {
            tweeners: {
                "*": [function(e, t) {
                    var n = this.createTween(e, t);
                    return T(n.elem, e, Qe.exec(t), n),
                    n
                }]
            },
            tweener: function(e, t) {
                Se(e) ? (t = e, e = ["*"]) : e = e.match(qe);
                for (var n, r = 0,
                o = e.length; r < o; r++) n = e[r],
                te.tweeners[n] = te.tweeners[n] || [],
                te.tweeners[n].unshift(t)
            },
            prefilters: [Z],
            prefilter: function(e, t) {
                t ? te.prefilters.unshift(e) : te.prefilters.push(e)
            }
        }),
        ke.speed = function(e, t, n) {
            var r = e && "object" == typeof e ? ke.extend({},
            e) : {
                complete: n || !n && t || Se(e) && e,
                duration: e,
                easing: n && t || t && !Se(t) && t
            };
            return ke.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in ke.fx.speeds ? r.duration = ke.fx.speeds[r.duration] : r.duration = ke.fx.speeds._default),
            null != r.queue && !0 !== r.queue || (r.queue = "fx"),
            r.old = r.complete,
            r.complete = function() {
                Se(r.old) && r.old.call(this),
                r.queue && ke.dequeue(this, r.queue)
            },
            r
        },
        ke.fn.extend({
            fadeTo: function(e, t, n, r) {
                return this.filter(tt).css("opacity", 0).show().end().animate({
                    opacity: t
                },
                e, n, r)
            },
            animate: function(e, t, n, r) {
                var o = ke.isEmptyObject(e),
                i = ke.speed(t, n, r),
                a = function() {
                    var t = te(this, ke.extend({},
                    e), i); (o || Ue.get(this, "finish")) && t.stop(!0)
                };
                return a.finish = a,
                o || !1 === i.queue ? this.each(a) : this.queue(i.queue, a)
            },
            stop: function(e, t, n) {
                var r = function(e) {
                    var t = e.stop;
                    delete e.stop,
                    t(n)
                };
                return "string" != typeof e && (n = t, t = e, e = void 0),
                t && !1 !== e && this.queue(e || "fx", []),
                this.each(function() {
                    var t = !0,
                    o = null != e && e + "queueHooks",
                    i = ke.timers,
                    a = Ue.get(this);
                    if (o) a[o] && a[o].stop && r(a[o]);
                    else for (o in a) a[o] && a[o].stop && Ot.test(o) && r(a[o]);
                    for (o = i.length; o--;) i[o].elem !== this || null != e && i[o].queue !== e || (i[o].anim.stop(n), t = !1, i.splice(o, 1)); ! t && n || ke.dequeue(this, e)
                })
            },
            finish: function(e) {
                return ! 1 !== e && (e = e || "fx"),
                this.each(function() {
                    var t, n = Ue.get(this),
                    r = n[e + "queue"],
                    o = n[e + "queueHooks"],
                    i = ke.timers,
                    a = r ? r.length: 0;
                    for (n.finish = !0, ke.queue(this, e, []), o && o.stop && o.stop.call(this, !0), t = i.length; t--;) i[t].elem === this && i[t].queue === e && (i[t].anim.stop(!0), i.splice(t, 1));
                    for (t = 0; t < a; t++) r[t] && r[t].finish && r[t].finish.call(this);
                    delete n.finish
                })
            }
        }),
        ke.each(["toggle", "show", "hide"],
        function(e, t) {
            var n = ke.fn[t];
            ke.fn[t] = function(e, r, o) {
                return null == e || "boolean" == typeof e ? n.apply(this, arguments) : this.animate(Y(t, !0), e, r, o)
            }
        }),
        ke.each({
            slideDown: Y("show"),
            slideUp: Y("hide"),
            slideToggle: Y("toggle"),
            fadeIn: {
                opacity: "show"
            },
            fadeOut: {
                opacity: "hide"
            },
            fadeToggle: {
                opacity: "toggle"
            }
        },
        function(e, t) {
            ke.fn[e] = function(e, n, r) {
                return this.animate(t, e, n, r)
            }
        }),
        ke.timers = [],
        ke.fx.tick = function() {
            var e, t = 0,
            n = ke.timers;
            for (Et = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1);
            n.length || ke.fx.stop(),
            Et = void 0
        },
        ke.fx.timer = function(e) {
            ke.timers.push(e),
            ke.fx.start()
        },
        ke.fx.interval = 13,
        ke.fx.start = function() {
            kt || (kt = !0, J())
        },
        ke.fx.stop = function() {
            kt = null
        },
        ke.fx.speeds = {
            slow: 600,
            fast: 200,
            _default: 400
        },
        ke.fn.delay = function(e, t) {
            return e = ke.fx ? ke.fx.speeds[e] || e: e,
            t = t || "fx",
            this.queue(t,
            function(t, r) {
                var o = n.setTimeout(t, e);
                r.stop = function() {
                    n.clearTimeout(o)
                }
            })
        },
        function() {
            var e = de.createElement("input"),
            t = de.createElement("select"),
            n = t.appendChild(de.createElement("option"));
            e.type = "checkbox",
            Ce.checkOn = "" !== e.value,
            Ce.optSelected = n.selected,
            e = de.createElement("input"),
            e.value = "t",
            e.type = "radio",
            Ce.radioValue = "t" === e.value
        } ();
        var $t, Mt = ke.expr.attrHandle;
        ke.fn.extend({
            attr: function(e, t) {
                return Fe(this, ke.attr, e, t, arguments.length > 1)
            },
            removeAttr: function(e) {
                return this.each(function() {
                    ke.removeAttr(this, e)
                })
            }
        }),
        ke.extend({
            attr: function(e, t, n) {
                var r, o, i = e.nodeType;
                if (3 !== i && 8 !== i && 2 !== i) return void 0 === e.getAttribute ? ke.prop(e, t, n) : (1 === i && ke.isXMLDoc(e) || (o = ke.attrHooks[t.toLowerCase()] || (ke.expr.match.bool.test(t) ? $t: void 0)), void 0 !== n ? null === n ? void ke.removeAttr(e, t) : o && "set" in o && void 0 !== (r = o.set(e, n, t)) ? r: (e.setAttribute(t, n + ""), n) : o && "get" in o && null !== (r = o.get(e, t)) ? r: (r = ke.find.attr(e, t), null == r ? void 0 : r))
            },
            attrHooks: {
                type: {
                    set: function(e, t) {
                        if (!Ce.radioValue && "radio" === t && c(e, "input")) {
                            var n = e.value;
                            return e.setAttribute("type", t),
                            n && (e.value = n),
                            t
                        }
                    }
                }
            },
            removeAttr: function(e, t) {
                var n, r = 0,
                o = t && t.match(qe);
                if (o && 1 === e.nodeType) for (; n = o[r++];) e.removeAttribute(n)
            }
        }),
        $t = {
            set: function(e, t, n) {
                return ! 1 === t ? ke.removeAttr(e, n) : e.setAttribute(n, n),
                n
            }
        },
        ke.each(ke.expr.match.bool.source.match(/\w+/g),
        function(e, t) {
            var n = Mt[t] || ke.find.attr;
            Mt[t] = function(e, t, r) {
                var o, i, a = t.toLowerCase();
                return r || (i = Mt[a], Mt[a] = o, o = null != n(e, t, r) ? a: null, Mt[a] = i),
                o
            }
        });
        var Nt = /^(?:input|select|textarea|button)$/i,
        _t = /^(?:a|area)$/i;
        ke.fn.extend({
            prop: function(e, t) {
                return Fe(this, ke.prop, e, t, arguments.length > 1)
            },
            removeProp: function(e) {
                return this.each(function() {
                    delete this[ke.propFix[e] || e]
                })
            }
        }),
        ke.extend({
            prop: function(e, t, n) {
                var r, o, i = e.nodeType;
                if (3 !== i && 8 !== i && 2 !== i) return 1 === i && ke.isXMLDoc(e) || (t = ke.propFix[t] || t, o = ke.propHooks[t]),
                void 0 !== n ? o && "set" in o && void 0 !== (r = o.set(e, n, t)) ? r: e[t] = n: o && "get" in o && null !== (r = o.get(e, t)) ? r: e[t]
            },
            propHooks: {
                tabIndex: {
                    get: function(e) {
                        var t = ke.find.attr(e, "tabindex");
                        return t ? parseInt(t, 10) : Nt.test(e.nodeName) || _t.test(e.nodeName) && e.href ? 0 : -1
                    }
                }
            },
            propFix: {
                for: "htmlFor",
                class: "className"
            }
        }),
        Ce.optSelected || (ke.propHooks.selected = {
            get: function(e) {
                var t = e.parentNode;
                return t && t.parentNode && t.parentNode.selectedIndex,
                null
            },
            set: function(e) {
                var t = e.parentNode;
                t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex)
            }
        }),
        ke.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"],
        function() {
            ke.propFix[this.toLowerCase()] = this
        }),
        ke.fn.extend({
            addClass: function(e) {
                var t, n, r, o, i, a, s, u = 0;
                if (Se(e)) return this.each(function(t) {
                    ke(this).addClass(e.call(this, t, re(this)))
                });
                if (t = oe(e), t.length) for (; n = this[u++];) if (o = re(n), r = 1 === n.nodeType && " " + ne(o) + " ") {
                    for (a = 0; i = t[a++];) r.indexOf(" " + i + " ") < 0 && (r += i + " ");
                    s = ne(r),
                    o !== s && n.setAttribute("class", s)
                }
                return this
            },
            removeClass: function(e) {
                var t, n, r, o, i, a, s, u = 0;
                if (Se(e)) return this.each(function(t) {
                    ke(this).removeClass(e.call(this, t, re(this)))
                });
                if (!arguments.length) return this.attr("class", "");
                if (t = oe(e), t.length) for (; n = this[u++];) if (o = re(n), r = 1 === n.nodeType && " " + ne(o) + " ") {
                    for (a = 0; i = t[a++];) for (; r.indexOf(" " + i + " ") > -1;) r = r.replace(" " + i + " ", " ");
                    s = ne(r),
                    o !== s && n.setAttribute("class", s)
                }
                return this
            },
            toggleClass: function(e, t) {
                var n = typeof e,
                r = "string" === n || Array.isArray(e);
                return "boolean" == typeof t && r ? t ? this.addClass(e) : this.removeClass(e) : Se(e) ? this.each(function(n) {
                    ke(this).toggleClass(e.call(this, n, re(this), t), t)
                }) : this.each(function() {
                    var t, o, i, a;
                    if (r) for (o = 0, i = ke(this), a = oe(e); t = a[o++];) i.hasClass(t) ? i.removeClass(t) : i.addClass(t);
                    else void 0 !== e && "boolean" !== n || (t = re(this), t && Ue.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", t || !1 === e ? "": Ue.get(this, "__className__") || ""))
                })
            },
            hasClass: function(e) {
                var t, n, r = 0;
                for (t = " " + e + " "; n = this[r++];) if (1 === n.nodeType && (" " + ne(re(n)) + " ").indexOf(t) > -1) return ! 0;
                return ! 1
            }
        });
        var Pt = /\r/g;
        ke.fn.extend({
            val: function(e) {
                var t, n, r, o = this[0]; {
                    if (arguments.length) return r = Se(e),
                    this.each(function(n) {
                        var o;
                        1 === this.nodeType && (o = r ? e.call(this, n, ke(this).val()) : e, null == o ? o = "": "number" == typeof o ? o += "": Array.isArray(o) && (o = ke.map(o,
                        function(e) {
                            return null == e ? "": e + ""
                        })), (t = ke.valHooks[this.type] || ke.valHooks[this.nodeName.toLowerCase()]) && "set" in t && void 0 !== t.set(this, o, "value") || (this.value = o))
                    });
                    if (o) return (t = ke.valHooks[o.type] || ke.valHooks[o.nodeName.toLowerCase()]) && "get" in t && void 0 !== (n = t.get(o, "value")) ? n: (n = o.value, "string" == typeof n ? n.replace(Pt, "") : null == n ? "": n)
                }
            }
        }),
        ke.extend({
            valHooks: {
                option: {
                    get: function(e) {
                        var t = ke.find.attr(e, "value");
                        return null != t ? t: ne(ke.text(e))
                    }
                },
                select: {
                    get: function(e) {
                        var t, n, r, o = e.options,
                        i = e.selectedIndex,
                        a = "select-one" === e.type,
                        s = a ? null: [],
                        u = a ? i + 1 : o.length;
                        for (r = i < 0 ? u: a ? i: 0; r < u; r++) if (n = o[r], (n.selected || r === i) && !n.disabled && (!n.parentNode.disabled || !c(n.parentNode, "optgroup"))) {
                            if (t = ke(n).val(), a) return t;
                            s.push(t)
                        }
                        return s
                    },
                    set: function(e, t) {
                        for (var n, r, o = e.options,
                        i = ke.makeArray(t), a = o.length; a--;) r = o[a],
                        (r.selected = ke.inArray(ke.valHooks.option.get(r), i) > -1) && (n = !0);
                        return n || (e.selectedIndex = -1),
                        i
                    }
                }
            }
        }),
        ke.each(["radio", "checkbox"],
        function() {
            ke.valHooks[this] = {
                set: function(e, t) {
                    if (Array.isArray(t)) return e.checked = ke.inArray(ke(e).val(), t) > -1
                }
            },
            Ce.checkOn || (ke.valHooks[this].get = function(e) {
                return null === e.getAttribute("value") ? "on": e.value
            })
        }),
        Ce.focusin = "onfocusin" in n;
        var It = /^(?:focusinfocus|focusoutblur)$/,
        Dt = function(e) {
            e.stopPropagation()
        };
        ke.extend(ke.event, {
            trigger: function(e, t, r, o) {
                var i, a, s, u, c, l, f, d, p = [r || de],
                h = we.call(e, "type") ? e.type: e,
                g = we.call(e, "namespace") ? e.namespace.split(".") : [];
                if (a = d = s = r = r || de, 3 !== r.nodeType && 8 !== r.nodeType && !It.test(h + ke.event.triggered) && (h.indexOf(".") > -1 && (g = h.split("."), h = g.shift(), g.sort()), c = h.indexOf(":") < 0 && "on" + h, e = e[ke.expando] ? e: new ke.Event(h, "object" == typeof e && e), e.isTrigger = o ? 2 : 3, e.namespace = g.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + g.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = r), t = null == t ? [e] : ke.makeArray(t, [e]), f = ke.event.special[h] || {},
                o || !f.trigger || !1 !== f.trigger.apply(r, t))) {
                    if (!o && !f.noBubble && !Ae(r)) {
                        for (u = f.delegateType || h, It.test(u + h) || (a = a.parentNode); a; a = a.parentNode) p.push(a),
                        s = a;
                        s === (r.ownerDocument || de) && p.push(s.defaultView || s.parentWindow || n)
                    }
                    for (i = 0; (a = p[i++]) && !e.isPropagationStopped();) d = a,
                    e.type = i > 1 ? u: f.bindType || h,
                    l = (Ue.get(a, "events") || {})[e.type] && Ue.get(a, "handle"),
                    l && l.apply(a, t),
                    (l = c && a[c]) && l.apply && We(a) && (e.result = l.apply(a, t), !1 === e.result && e.preventDefault());
                    return e.type = h,
                    o || e.isDefaultPrevented() || f._default && !1 !== f._default.apply(p.pop(), t) || !We(r) || c && Se(r[h]) && !Ae(r) && (s = r[c], s && (r[c] = null), ke.event.triggered = h, e.isPropagationStopped() && d.addEventListener(h, Dt), r[h](), e.isPropagationStopped() && d.removeEventListener(h, Dt), ke.event.triggered = void 0, s && (r[c] = s)),
                    e.result
                }
            },
            simulate: function(e, t, n) {
                var r = ke.extend(new ke.Event, n, {
                    type: e,
                    isSimulated: !0
                });
                ke.event.trigger(r, null, t)
            }
        }),
        ke.fn.extend({
            trigger: function(e, t) {
                return this.each(function() {
                    ke.event.trigger(e, t, this)
                })
            },
            triggerHandler: function(e, t) {
                var n = this[0];
                if (n) return ke.event.trigger(e, t, n, !0)
            }
        }),
        Ce.focusin || ke.each({
            focus: "focusin",
            blur: "focusout"
        },
        function(e, t) {
            var n = function(e) {
                ke.event.simulate(t, e.target, ke.event.fix(e))
            };
            ke.event.special[t] = {
                setup: function() {
                    var r = this.ownerDocument || this,
                    o = Ue.access(r, t);
                    o || r.addEventListener(e, n, !0),
                    Ue.access(r, t, (o || 0) + 1)
                },
                teardown: function() {
                    var r = this.ownerDocument || this,
                    o = Ue.access(r, t) - 1;
                    o ? Ue.access(r, t, o) : (r.removeEventListener(e, n, !0), Ue.remove(r, t))
                }
            }
        });
        var Lt = n.location,
        qt = Date.now(),
        Ht = /\?/;
        ke.parseXML = function(e) {
            var t;
            if (!e || "string" != typeof e) return null;
            try {
                t = (new n.DOMParser).parseFromString(e, "text/xml")
            } catch(e) {
                t = void 0
            }
            return t && !t.getElementsByTagName("parsererror").length || ke.error("Invalid XML: " + e),
            t
        };
        var Rt = /\[\]$/,
        Ft = /\r?\n/g,
        zt = /^(?:submit|button|image|reset|file)$/i,
        Bt = /^(?:input|select|textarea|keygen)/i;
        ke.param = function(e, t) {
            var n, r = [],
            o = function(e, t) {
                var n = Se(t) ? t() : t;
                r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "": n)
            };
            if (null == e) return "";
            if (Array.isArray(e) || e.jquery && !ke.isPlainObject(e)) ke.each(e,
            function() {
                o(this.name, this.value)
            });
            else for (n in e) ie(n, e[n], t, o);
            return r.join("&")
        },
        ke.fn.extend({
            serialize: function() {
                return ke.param(this.serializeArray())
            },
            serializeArray: function() {
                return this.map(function() {
                    var e = ke.prop(this, "elements");
                    return e ? ke.makeArray(e) : this
                }).filter(function() {
                    var e = this.type;
                    return this.name && !ke(this).is(":disabled") && Bt.test(this.nodeName) && !zt.test(e) && (this.checked || !ot.test(e))
                }).map(function(e, t) {
                    var n = ke(this).val();
                    return null == n ? null: Array.isArray(n) ? ke.map(n,
                    function(e) {
                        return {
                            name: t.name,
                            value: e.replace(Ft, "\r\n")
                        }
                    }) : {
                        name: t.name,
                        value: n.replace(Ft, "\r\n")
                    }
                }).get()
            }
        });
        var Wt = /%20/g,
        Ut = /#.*$/,
        Gt = /([?&])_=[^&]*/,
        Vt = /^(.*?):[ \t]*([^\r\n]*)$/gm,
        Xt = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
        Jt = /^(?:GET|HEAD)$/,
        Qt = /^\/\//,
        Yt = {},
        Kt = {},
        Zt = "*/".concat("*"),
        en = de.createElement("a");
        en.href = Lt.href,
        ke.extend({
            active: 0,
            lastModified: {},
            etag: {},
            ajaxSettings: {
                url: Lt.href,
                type: "GET",
                isLocal: Xt.test(Lt.protocol),
                global: !0,
                processData: !0,
                async: !0,
                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
                accepts: {
                    "*": Zt,
                    text: "text/plain",
                    html: "text/html",
                    xml: "application/xml, text/xml",
                    json: "application/json, text/javascript"
                },
                contents: {
                    xml: /\bxml\b/,
                    html: /\bhtml/,
                    json: /\bjson\b/
                },
                responseFields: {
                    xml: "responseXML",
                    text: "responseText",
                    json: "responseJSON"
                },
                converters: {
                    "* text": String,
                    "text html": !0,
                    "text json": JSON.parse,
                    "text xml": ke.parseXML
                },
                flatOptions: {
                    url: !0,
                    context: !0
                }
            },
            ajaxSetup: function(e, t) {
                return t ? ue(ue(e, ke.ajaxSettings), t) : ue(ke.ajaxSettings, e)
            },
            ajaxPrefilter: ae(Yt),
            ajaxTransport: ae(Kt),
            ajax: function(e, t) {
                function r(e, t, r, s) {
                    var c, d, p, w, x, T = t;
                    l || (l = !0, u && n.clearTimeout(u), o = void 0, a = s || "", C.readyState = e > 0 ? 4 : 0, c = e >= 200 && e < 300 || 304 === e, r && (w = ce(h, C, r)), w = le(h, w, C, c), c ? (h.ifModified && (x = C.getResponseHeader("Last-Modified"), x && (ke.lastModified[i] = x), (x = C.getResponseHeader("etag")) && (ke.etag[i] = x)), 204 === e || "HEAD" === h.type ? T = "nocontent": 304 === e ? T = "notmodified": (T = w.state, d = w.data, p = w.error, c = !p)) : (p = T, !e && T || (T = "error", e < 0 && (e = 0))), C.status = e, C.statusText = (t || T) + "", c ? v.resolveWith(g, [d, T, C]) : v.rejectWith(g, [C, T, p]), C.statusCode(b), b = void 0, f && m.trigger(c ? "ajaxSuccess": "ajaxError", [C, h, c ? d: p]), y.fireWith(g, [C, T]), f && (m.trigger("ajaxComplete", [C, h]), --ke.active || ke.event.trigger("ajaxStop")))
                }
                "object" == typeof e && (t = e, e = void 0),
                t = t || {};
                var o, i, a, s, u, c, l, f, d, p, h = ke.ajaxSetup({},
                t),
                g = h.context || h,
                m = h.context && (g.nodeType || g.jquery) ? ke(g) : ke.event,
                v = ke.Deferred(),
                y = ke.Callbacks("once memory"),
                b = h.statusCode || {},
                w = {},
                x = {},
                T = "canceled",
                C = {
                    readyState: 0,
                    getResponseHeader: function(e) {
                        var t;
                        if (l) {
                            if (!s) for (s = {}; t = Vt.exec(a);) s[t[1].toLowerCase() + " "] = (s[t[1].toLowerCase() + " "] || []).concat(t[2]);
                            t = s[e.toLowerCase() + " "]
                        }
                        return null == t ? null: t.join(", ")
                    },
                    getAllResponseHeaders: function() {
                        return l ? a: null
                    },
                    setRequestHeader: function(e, t) {
                        return null == l && (e = x[e.toLowerCase()] = x[e.toLowerCase()] || e, w[e] = t),
                        this
                    },
                    overrideMimeType: function(e) {
                        return null == l && (h.mimeType = e),
                        this
                    },
                    statusCode: function(e) {
                        var t;
                        if (e) if (l) C.always(e[C.status]);
                        else for (t in e) b[t] = [b[t], e[t]];
                        return this
                    },
                    abort: function(e) {
                        var t = e || T;
                        return o && o.abort(t),
                        r(0, t),
                        this
                    }
                };
                if (v.promise(C), h.url = ((e || h.url || Lt.href) + "").replace(Qt, Lt.protocol + "//"), h.type = t.method || t.type || h.method || h.type, h.dataTypes = (h.dataType || "*").toLowerCase().match(qe) || [""], null == h.crossDomain) {
                    c = de.createElement("a");
                    try {
                        c.href = h.url,
                        c.href = c.href,
                        h.crossDomain = en.protocol + "//" + en.host != c.protocol + "//" + c.host
                    } catch(e) {
                        h.crossDomain = !0
                    }
                }
                if (h.data && h.processData && "string" != typeof h.data && (h.data = ke.param(h.data, h.traditional)), se(Yt, h, t, C), l) return C;
                f = ke.event && h.global,
                f && 0 == ke.active++&&ke.event.trigger("ajaxStart"),
                h.type = h.type.toUpperCase(),
                h.hasContent = !Jt.test(h.type),
                i = h.url.replace(Ut, ""),
                h.hasContent ? h.data && h.processData && 0 === (h.contentType || "").indexOf("application/x-www-form-urlencoded") && (h.data = h.data.replace(Wt, "+")) : (p = h.url.slice(i.length), h.data && (h.processData || "string" == typeof h.data) && (i += (Ht.test(i) ? "&": "?") + h.data, delete h.data), !1 === h.cache && (i = i.replace(Gt, "$1"), p = (Ht.test(i) ? "&": "?") + "_=" + qt+++p), h.url = i + p),
                h.ifModified && (ke.lastModified[i] && C.setRequestHeader("If-Modified-Since", ke.lastModified[i]), ke.etag[i] && C.setRequestHeader("If-None-Match", ke.etag[i])),
                (h.data && h.hasContent && !1 !== h.contentType || t.contentType) && C.setRequestHeader("Content-Type", h.contentType),
                C.setRequestHeader("Accept", h.dataTypes[0] && h.accepts[h.dataTypes[0]] ? h.accepts[h.dataTypes[0]] + ("*" !== h.dataTypes[0] ? ", " + Zt + "; q=0.01": "") : h.accepts["*"]);
                for (d in h.headers) C.setRequestHeader(d, h.headers[d]);
                if (h.beforeSend && (!1 === h.beforeSend.call(g, C, h) || l)) return C.abort();
                if (T = "abort", y.add(h.complete), C.done(h.success), C.fail(h.error), o = se(Kt, h, t, C)) {
                    if (C.readyState = 1, f && m.trigger("ajaxSend", [C, h]), l) return C;
                    h.async && h.timeout > 0 && (u = n.setTimeout(function() {
                        C.abort("timeout")
                    },
                    h.timeout));
                    try {
                        l = !1,
                        o.send(w, r)
                    } catch(e) {
                        if (l) throw e;
                        r( - 1, e)
                    }
                } else r( - 1, "No Transport");
                return C
            },
            getJSON: function(e, t, n) {
                return ke.get(e, t, n, "json")
            },
            getScript: function(e, t) {
                return ke.get(e, void 0, t, "script")
            }
        }),
        ke.each(["get", "post"],
        function(e, t) {
            ke[t] = function(e, n, r, o) {
                return Se(n) && (o = o || r, r = n, n = void 0),
                ke.ajax(ke.extend({
                    url: e,
                    type: t,
                    dataType: o,
                    data: n,
                    success: r
                },
                ke.isPlainObject(e) && e))
            }
        }),
        ke._evalUrl = function(e, t) {
            return ke.ajax({
                url: e,
                type: "GET",
                dataType: "script",
                cache: !0,
                async: !1,
                global: !1,
                converters: {
                    "text script": function() {}
                },
                dataFilter: function(e) {
                    ke.globalEval(e, t)
                }
            })
        },
        ke.fn.extend({
            wrapAll: function(e) {
                var t;
                return this[0] && (Se(e) && (e = e.call(this[0])), t = ke(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function() {
                    for (var e = this; e.firstElementChild;) e = e.firstElementChild;
                    return e
                }).append(this)),
                this
            },
            wrapInner: function(e) {
                return Se(e) ? this.each(function(t) {
                    ke(this).wrapInner(e.call(this, t))
                }) : this.each(function() {
                    var t = ke(this),
                    n = t.contents();
                    n.length ? n.wrapAll(e) : t.append(e)
                })
            },
            wrap: function(e) {
                var t = Se(e);
                return this.each(function(n) {
                    ke(this).wrapAll(t ? e.call(this, n) : e)
                })
            },
            unwrap: function(e) {
                return this.parent(e).not("body").each(function() {
                    ke(this).replaceWith(this.childNodes)
                }),
                this
            }
        }),
        ke.expr.pseudos.hidden = function(e) {
            return ! ke.expr.pseudos.visible(e)
        },
        ke.expr.pseudos.visible = function(e) {
            return !! (e.offsetWidth || e.offsetHeight || e.getClientRects().length)
        },
        ke.ajaxSettings.xhr = function() {
            try {
                return new n.XMLHttpRequest
            } catch(e) {}
        };
        var tn = {
            0 : 200,
            1223 : 204
        },
        nn = ke.ajaxSettings.xhr();
        Ce.cors = !!nn && "withCredentials" in nn,
        Ce.ajax = nn = !!nn,
        ke.ajaxTransport(function(e) {
            var t, r;
            if (Ce.cors || nn && !e.crossDomain) return {
                send: function(o, i) {
                    var a, s = e.xhr();
                    if (s.open(e.type, e.url, e.async, e.username, e.password), e.xhrFields) for (a in e.xhrFields) s[a] = e.xhrFields[a];
                    e.mimeType && s.overrideMimeType && s.overrideMimeType(e.mimeType),
                    e.crossDomain || o["X-Requested-With"] || (o["X-Requested-With"] = "XMLHttpRequest");
                    for (a in o) s.setRequestHeader(a, o[a]);
                    t = function(e) {
                        return function() {
                            t && (t = r = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, "abort" === e ? s.abort() : "error" === e ? "number" != typeof s.status ? i(0, "error") : i(s.status, s.statusText) : i(tn[s.status] || s.status, s.statusText, "text" !== (s.responseType || "text") || "string" != typeof s.responseText ? {
                                binary: s.response
                            }: {
                                text: s.responseText
                            },
                            s.getAllResponseHeaders()))
                        }
                    },
                    s.onload = t(),
                    r = s.onerror = s.ontimeout = t("error"),
                    void 0 !== s.onabort ? s.onabort = r: s.onreadystatechange = function() {
                        4 === s.readyState && n.setTimeout(function() {
                            t && r()
                        })
                    },
                    t = t("abort");
                    try {
                        s.send(e.hasContent && e.data || null)
                    } catch(e) {
                        if (t) throw e
                    }
                },
                abort: function() {
                    t && t()
                }
            }
        }),
        ke.ajaxPrefilter(function(e) {
            e.crossDomain && (e.contents.script = !1)
        }),
        ke.ajaxSetup({
            accepts: {
                script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
            },
            contents: {
                script: /\b(?:java|ecma)script\b/
            },
            converters: {
                "text script": function(e) {
                    return ke.globalEval(e),
                    e
                }
            }
        }),
        ke.ajaxPrefilter("script",
        function(e) {
            void 0 === e.cache && (e.cache = !1),
            e.crossDomain && (e.type = "GET")
        }),
        ke.ajaxTransport("script",
        function(e) {
            if (e.crossDomain || e.scriptAttrs) {
                var t, n;
                return {
                    send: function(r, o) {
                        t = ke("<script>").attr(e.scriptAttrs || {}).prop({
                            charset: e.scriptCharset,
                            src: e.url
                        }).on("load error", n = function(e) {
                            t.remove(),
                            n = null,
                            e && o("error" === e.type ? 404 : 200, e.type)
                        }),
                        de.head.appendChild(t[0])
                    },
                    abort: function() {
                        n && n()
                    }
                }
            }
        });
        var rn = [],
        on = /(=)\?(?=&|$)|\?\?/;
        ke.ajaxSetup({
            jsonp: "callback",
            jsonpCallback: function() {
                var e = rn.pop() || ke.expando + "_" + qt++;
                return this[e] = !0,
                e
            }
        }),
        ke.ajaxPrefilter("json jsonp",
        function(e, t, r) {
            var o, i, a, s = !1 !== e.jsonp && (on.test(e.url) ? "url": "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && on.test(e.data) && "data");
            if (s || "jsonp" === e.dataTypes[0]) return o = e.jsonpCallback = Se(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback,
            s ? e[s] = e[s].replace(on, "$1" + o) : !1 !== e.jsonp && (e.url += (Ht.test(e.url) ? "&": "?") + e.jsonp + "=" + o),
            e.converters["script json"] = function() {
                return a || ke.error(o + " was not called"),
                a[0]
            },
            e.dataTypes[0] = "json",
            i = n[o],
            n[o] = function() {
                a = arguments
            },
            r.always(function() {
                void 0 === i ? ke(n).removeProp(o) : n[o] = i,
                e[o] && (e.jsonpCallback = t.jsonpCallback, rn.push(o)),
                a && Se(i) && i(a[0]),
                a = i = void 0
            }),
            "script"
        }),
        Ce.createHTMLDocument = function() {
            var e = de.implementation.createHTMLDocument("").body;
            return e.innerHTML = "<form></form><form></form>",
            2 === e.childNodes.length
        } (),
        ke.parseHTML = function(e, t, n) {
            if ("string" != typeof e) return [];
            "boolean" == typeof t && (n = t, t = !1);
            var r, o, i;
            return t || (Ce.createHTMLDocument ? (t = de.implementation.createHTMLDocument(""), r = t.createElement("base"), r.href = de.location.href, t.head.appendChild(r)) : t = de),
            o = _e.exec(e),
            i = !n && [],
            o ? [t.createElement(o[1])] : (o = k([e], t, i), i && i.length && ke(i).remove(), ke.merge([], o.childNodes))
        },
        ke.fn.load = function(e, t, n) {
            var r, o, i, a = this,
            s = e.indexOf(" ");
            return s > -1 && (r = ne(e.slice(s)), e = e.slice(0, s)),
            Se(t) ? (n = t, t = void 0) : t && "object" == typeof t && (o = "POST"),
            a.length > 0 && ke.ajax({
                url: e,
                type: o || "GET",
                dataType: "html",
                data: t
            }).done(function(e) {
                i = arguments,
                a.html(r ? ke("<div>").append(ke.parseHTML(e)).find(r) : e)
            }).always(n &&
            function(e, t) {
                a.each(function() {
                    n.apply(this, i || [e.responseText, t, e])
                })
            }),
            this
        },
        ke.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"],
        function(e, t) {
            ke.fn[t] = function(e) {
                return this.on(t, e)
            }
        }),
        ke.expr.pseudos.animated = function(e) {
            return ke.grep(ke.timers,
            function(t) {
                return e === t.elem
            }).length
        },
        ke.offset = {
            setOffset: function(e, t, n) {
                var r, o, i, a, s, u, c, l = ke.css(e, "position"),
                f = ke(e),
                d = {};
                "static" === l && (e.style.position = "relative"),
                s = f.offset(),
                i = ke.css(e, "top"),
                u = ke.css(e, "left"),
                c = ("absolute" === l || "fixed" === l) && (i + u).indexOf("auto") > -1,
                c ? (r = f.position(), a = r.top, o = r.left) : (a = parseFloat(i) || 0, o = parseFloat(u) || 0),
                Se(t) && (t = t.call(e, n, ke.extend({},
                s))),
                null != t.top && (d.top = t.top - s.top + a),
                null != t.left && (d.left = t.left - s.left + o),
                "using" in t ? t.using.call(e, d) : f.css(d)
            }
        },
        ke.fn.extend({
            offset: function(e) {
                if (arguments.length) return void 0 === e ? this: this.each(function(t) {
                    ke.offset.setOffset(this, e, t)
                });
                var t, n, r = this[0];
                if (r) return r.getClientRects().length ? (t = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, {
                    top: t.top + n.pageYOffset,
                    left: t.left + n.pageXOffset
                }) : {
                    top: 0,
                    left: 0
                }
            },
            position: function() {
                if (this[0]) {
                    var e, t, n, r = this[0],
                    o = {
                        top: 0,
                        left: 0
                    };
                    if ("fixed" === ke.css(r, "position")) t = r.getBoundingClientRect();
                    else {
                        for (t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === ke.css(e, "position");) e = e.parentNode;
                        e && e !== r && 1 === e.nodeType && (o = ke(e).offset(), o.top += ke.css(e, "borderTopWidth", !0), o.left += ke.css(e, "borderLeftWidth", !0))
                    }
                    return {
                        top: t.top - o.top - ke.css(r, "marginTop", !0),
                        left: t.left - o.left - ke.css(r, "marginLeft", !0)
                    }
                }
            },
            offsetParent: function() {
                return this.map(function() {
                    for (var e = this.offsetParent; e && "static" === ke.css(e, "position");) e = e.offsetParent;
                    return e || Ke
                })
            }
        }),
        ke.each({
            scrollLeft: "pageXOffset",
            scrollTop: "pageYOffset"
        },
        function(e, t) {
            var n = "pageYOffset" === t;
            ke.fn[e] = function(r) {
                return Fe(this,
                function(e, r, o) {
                    var i;
                    if (Ae(e) ? i = e: 9 === e.nodeType && (i = e.defaultView), void 0 === o) return i ? i[t] : e[r];
                    i ? i.scrollTo(n ? i.pageXOffset: o, n ? o: i.pageYOffset) : e[r] = o
                },
                e, r, arguments.length)
            }
        }),
        ke.each(["top", "left"],
        function(e, t) {
            ke.cssHooks[t] = z(Ce.pixelPosition,
            function(e, n) {
                if (n) return n = F(e, t),
                mt.test(n) ? ke(e).position()[t] + "px": n
            })
        }),
        ke.each({
            Height: "height",
            Width: "width"
        },
        function(e, t) {
            ke.each({
                padding: "inner" + e,
                content: t,
                "": "outer" + e
            },
            function(n, r) {
                ke.fn[r] = function(o, i) {
                    var a = arguments.length && (n || "boolean" != typeof o),
                    s = n || (!0 === o || !0 === i ? "margin": "border");
                    return Fe(this,
                    function(t, n, o) {
                        var i;
                        return Ae(t) ? 0 === r.indexOf("outer") ? t["inner" + e] : t.document.documentElement["client" + e] : 9 === t.nodeType ? (i = t.documentElement, Math.max(t.body["scroll" + e], i["scroll" + e], t.body["offset" + e], i["offset" + e], i["client" + e])) : void 0 === o ? ke.css(t, n, s) : ke.style(t, n, o, s)
                    },
                    t, a ? o: void 0, a)
                }
            })
        }),
        ke.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),
        function(e, t) {
            ke.fn[t] = function(e, n) {
                return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t)
            }
        }),
        ke.fn.extend({
            hover: function(e, t) {
                return this.mouseenter(e).mouseleave(t || e)
            }
        }),
        ke.fn.extend({
            bind: function(e, t, n) {
                return this.on(e, null, t, n)
            },
            unbind: function(e, t) {
                return this.off(e, null, t)
            },
            delegate: function(e, t, n, r) {
                return this.on(t, e, n, r)
            },
            undelegate: function(e, t, n) {
                return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n)
            }
        }),
        ke.proxy = function(e, t) {
            var n, r, o;
            if ("string" == typeof t && (n = e[t], t = e, e = n), Se(e)) return r = he.call(arguments, 2),
            o = function() {
                return e.apply(t || this, r.concat(he.call(arguments)))
            },
            o.guid = e.guid = e.guid || ke.guid++,
            o
        },
        ke.holdReady = function(e) {
            e ? ke.readyWait++:ke.ready(!0)
        },
        ke.isArray = Array.isArray,
        ke.parseJSON = JSON.parse,
        ke.nodeName = c,
        ke.isFunction = Se,
        ke.isWindow = Ae,
        ke.camelCase = y,
        ke.type = s,
        ke.now = Date.now,
        ke.isNumeric = function(e) {
            var t = ke.type(e);
            return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e))
        },
        r = [],
        void 0 !== (o = function() {
            return ke
        }.apply(t, r)) && (e.exports = o);
        var an = n.jQuery,
        sn = n.$;
        return ke.noConflict = function(e) {
            return n.$ === ke && (n.$ = sn),
            e && n.jQuery === ke && (n.jQuery = an),
            ke
        },
        i || (n.jQuery = n.$ = ke),
        ke
    })
},
function(e, t, n) {
    "use strict";
    var r = n(130),
    o = function(e) {
        return e && e.__esModule ? e: {
        default:
            e
        }
    } (r),
    i = function() {
        var e = $(window).width(),
        t = ($(window).width(), e > 1920),
        n = e <= 1920 && e > 1440,
        r = e <= 1440 && e > 1e3,
        i = e <= 1e3 && e > 768,
        a = e <= 768,
        s = $(".tws2-denoise"),
        u = (s.find(".sticky-box"), s.find(".figure-box")),
        c = s.find(".section1"),
        l = s.find(".section2"),
        f = s.find(".section4"),
        d = s.find(".section2-box"),
        p = (s.find(".denoise-json"), d.find(".f1")),
        h = (d.find(".f2"), u.find(".figure"), s.find(".mask")),
        g = s.find(".tws2-denoise-animate").get(0),
        m = g.getContext("2d"),
        v = void 0;
        v = "lg";
        var y = void 0,
        b = void 0,
        w = void 0,
        x = !0;
        n ? (y = 1920, b = 1080) : t ? (y = 1200, b = 800) : r ? (y = 800, b = 500) : (i || a) && (y = 375, b = 200, v = "mb"),
        i || a ? (g.width = 4 * y, g.height = 4 * b, m.scale(4, 4)) : (g.width = 2 * y, g.height = 2 * b, m.scale(2, 2)),
        m.clearRect(0, 0, y, b);
        var T = {
            curImg: 0
        },
        C = [],
        S = function() {
            for (var e = 0; e <= 131; e++) C[e] = new Image,
            C[e].src = IMAGE_HOST + "images/tws2-denoise-" + v + "_" + e + ".jpg";
            s.find(".tws2-denoise-animate").css("background-image", "url(" + IMAGE_HOST + "images/tws2-denoise-" + v + "_0.jpg)")
        },
        A = function(e) {
            return $(window).scrollTop() >= e.offset().top - $(window).height() && $(window).scrollTop() <= $(".denoise-positions").offset().top
        };
        w = setInterval(function() {
            A(s) && x && (x = !1, S(), clearInterval(w))
        },
        60);
        var E = {
            curNum: 0
        },
        k = 5e3;
        if (a) {
            k = 3e3;
            var j = lottie.loadAnimation({
                container: document.getElementById("denoise-json"),
                renderer: "canvas",
                loop: !1,
                autoplay: !1,
                path: IMAGE_HOST + "script/denoiseDataWap.json"
            }),
            O = gsap.timeline();
            O.from(c, 1, {
                autoAlpha: 0,
                y: 200
            }).from([d, u], 1, {
                autoAlpha: 0,
                y: 400
            },
            "-=.75").to(c, 1, {
                autoAlpha: 0,
                y: -20
            }).from(l, 1, {
                autoAlpha: 0,
                y: 20
            },
            "-=.25").to(l, 1, {
                autoAlpha: 0,
                y: -20
            }).from(f, 1, {
                autoAlpha: 0,
                y: 20
            },
            "-=.25").to(p, .1, {
                autoAlpha: 0
            },
            "-=3.5").to(E, 4, {
                curNum: k,
                roundProps: "curNum",
                repeat: 0,
                immediateRender: !0,
                ease: Linear.easeNone,
                onUpdate: function() {
                    j.goToAndStop(E.curNum, !1)
                }
            },
            "-=3.5").to(T, 2, {
                curImg: 131,
                roundProps: "curImg",
                onUpdate: function() {
                    C.length > 0 && (m.clearRect(0, 0, y, b), m.drawImage(C[T.curImg], 0, 0, y, b))
                },
                ease: "linear"
            },
            "-=3.5"),
            ScrollTrigger.create({
                animation: O,
                trigger: s,
                start: "top center",
                end: "bottom bottom",
                scrub: !0,
                anticipatePin: 1
            })
        } else {
            var M = lottie.loadAnimation({
                container: document.getElementById("denoise-json"),
                renderer: "canvas",
                loop: !1,
                autoplay: !1,
                path: IMAGE_HOST + "script/denoiseData.json"
            }),
            N = gsap.timeline();
            N.from(c, 1, {
                autoAlpha: 0,
                y: 200
            }).to(c, 1, {
                autoAlpha: 0,
                y: -200
            }).from(d, 1, {
                autoAlpha: 0,
                y: 400
            },
            "-=.5").to(p, .1, {
                autoAlpha: 0
            }).to(E, 4, {
                curNum: k,
                roundProps: "curNum",
                repeat: 0,
                immediateRender: !0,
                ease: Linear.easeNone,
                onUpdate: function() {
                    M.goToAndStop(E.curNum, !1)
                }
            },
            "-=.1").to(T, 4, {
                curImg: 131,
                roundProps: "curImg",
                onUpdate: function() {
                    C.length > 0 && (m.clearRect(0, 0, y, b), m.drawImage(C[T.curImg], 0, 0, y, b))
                },
                ease: "linear"
            },
            "-=4").to(d, 1, {
                autoAlpha: 0,
                y: -200
            }).from(f, 1, {
                autoAlpha: 0,
                y: 200
            },
            "-=.25").to(h, .5, {
                autoAlpha: .6
            },
            "-=1"),
            ScrollTrigger.create({
                animation: N,
                trigger: s,
                start: "top top",
                end: "bottom bottom",
                scrub: !0,
                anticipatePin: 1
            })
        }
        var _ = s.find(".denoise-modal"),
        P = s.find(".modal-container"),
        I = (document.querySelector(".denoise-modal-scroll"), s.find(".denoise-modal-backdoor")),
        D = s.find(".denoise-open-modal"),
        L = s.find(".denoise-close-modal");
        D.click(function() {
            s.addClass("active"),
            $("body").css({
                overflow: "hidden"
            }),
            gsap.from(_, .1, {
                opacity: 0
            }),
            gsap.from(I, 1, {
                opacity: 0
            }),
            gsap.to(P, {
                duration: .8,
                ease: o.
            default.create("custom", "M0,0 C0.118,0.374 0.168,0.412 0.288,1 0.4,1.418 0.472,1.234 0.626,1.024 0.696,0.908 1,1 1,1 "),
                scale: 1
            })
        }),
        L.click(function() {
            s.removeClass("active"),
            $("body").css({
                overflow: "visible"
            }),
            gsap.to(_, .5, {
                opacity: 1
            }),
            gsap.to(I, .5, {
                opacity: 1
            }),
            gsap.to(P, .5, {
                scale: 0
            })
        })
    };
    e.exports = i
}]);